/* --- GOOGLE FONTS IMPORT --- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=Inter:wght@300;400;500&display=swap');
/* --- ROOT COLOUR VARIABLES --- */
:root {
--otl-dark: #1A1410;
--otl-brown: #2C1F12;
--otl-gold: #9B7D5A;
--otl-sand: #D4B896;
--otl-parch: #FAF6F0;
--otl-muted: #7A6352;
--otl-border: rgba(155, 125, 90, 0.25);
}
/* ============================================
GLOBAL TYPOGRAPHY
============================================ */
body {
font-family: 'Inter', sans-serif !important;
font-size: 15px !important;
line-height: 1.8 !important;
color: #3D2B1A !important;
background-color: var(--otl-parch) !important;
}
h1, h2, h3, h4, h5, h6 {
font-family: 'Cormorant Garamond', serif !important;
font-weight: 300 !important;
letter-spacing: -0.01em !important;
line-height: 1.2 !important;
}
h1 { font-size: 52px !important; }
h2 { font-size: 38px !important; }
h3 { font-size: 26px !important; }
h4 { font-size: 20px !important; }
p {
font-family: 'Inter', sans-serif !important;
font-size: 15px !important;
line-height: 1.85 !important;
color: #5C4A35 !important;
}
/* Italic headings get the gold colour */
h1 em, h2 em, h3 em {
font-style: italic !important;
color: var(--otl-sand) !important;
}
/* ============================================
NAVIGATION / HEADER
============================================ */
.site-header,
header,
.nav-bar,
[class*="header"] {
background-color: var(--otl-dark) !important;
border-bottom: 0.5px solid var(--otl-border) !important;
padding: 18px 40px !important;
}
/* Nav links */
.site-header a,
.nav-bar a,
header nav a,
.site-header .nav-link {
color: rgba(212, 184, 150, 0.75) !important;
font-family: 'Inter', sans-serif !important;
font-size: 11px !important;
font-weight: 400 !important;
letter-spacing: 0.1em !important;
text-transform: uppercase !important;
text-decoration: none !important;
transition: color 0.2s ease !important;
}
.site-header a:hover,
.nav-bar a:hover,
header nav a:hover {
color: var(--otl-sand) !important;
}
/* Logo text */
.site-header .logo,
.site-header .brand,
header .site-logo {
font-family: 'Cormorant Garamond', serif !important;
font-size: 20px !important;
font-weight: 400 !important;
color: var(--otl-sand) !important;
letter-spacing: 0.06em !important;
}
/* Nav CTA button */
.site-header .btn,
.site-header .button,
header .nav-cta,
.site-header [class*="btn-primary"] {
background-color: var(--otl-sand) !important;
color: var(--otl-dark) !important;
border: none !important;
border-radius: 2px !important;
padding: 9px 20px !important;
font-size: 11px !important;
font-weight: 500 !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
}
/* ============================================
BUTTONS — GLOBAL
============================================ */
.btn,
.button,
[class*="btn-primary"],
[class*="button--primary"],
input[type="submit"],
button[type="submit"] {
background-color: var(--otl-gold) !important;
color: var(--otl-parch) !important;
border: none !important;
border-radius: 2px !important;
padding: 13px 30px !important;
font-family: 'Inter', sans-serif !important;
font-size: 11px !important;
font-weight: 500 !important;
letter-spacing: 0.1em !important;
text-transform: uppercase !important;
cursor: pointer !important;
transition: background-color 0.2s ease, opacity 0.2s ease !important;
}
.btn:hover,
.button:hover,
[class*="btn-primary"]:hover,
input[type="submit"]:hover,
button[type="submit"]:hover {
background-color: #7A6245 !important;
opacity: 1 !important;
}
/* Secondary / ghost button */
[class*="btn-secondary"],
[class*="button--secondary"],
.btn-outline {
background-color: transparent !important;
color: var(--otl-gold) !important;
border: 0.5px solid var(--otl-gold) !important;
border-radius: 2px !important;
padding: 12px 28px !important;
font-size: 11px !important;
letter-spacing: 0.1em !important;
text-transform: uppercase !important;
}
/* ============================================
HERO SECTION
============================================ */
.hero-section,
[class*="hero"],
.section--hero,
.banner-section {
background-color: var(--otl-dark) !important;
padding: 90px 40px !important;
}
.hero-section h1,
[class*="hero"] h1,
.banner-section h1 {
color: #F0E6D6 !important;
font-size: 54px !important;
font-weight: 300 !important;
max-width: 620px !important;
}
.hero-section p,
[class*="hero"] p,
.banner-section p {
color: rgba(240, 230, 214, 0.65) !important;
font-size: 15px !important;
max-width: 480px !important;
line-height: 1.85 !important;
}
/* ============================================
SECTION BACKGROUNDS — ALTERNATING PATTERN
============================================ */
/* Dark sections */
section:nth-child(odd),
.section-dark,
[data-section-type*="dark"] {
background-color: var(--otl-dark) !important;
}
/* Light sections */
section:nth-child(even),
.section-light,
[data-section-type*="light"] {
background-color: var(--otl-parch) !important;
}
/* Override: accent gold section (Free Programs CTA) */
.section--gold,
.cta-section,
[data-section-type*="cta"] {
background-color: var(--otl-gold) !important;
}
.section--gold h2,
.cta-section h2 {
color: var(--otl-parch) !important;
}
.section--gold p,
.cta-section p {
color: rgba(250, 246, 240, 0.82) !important;
}
/* ============================================
FEATURE / CARD SECTIONS
============================================ */
/* Card containers */
.feature-card,
.card,
[class*="feature-item"],
[class*="grid-item"],
.post-card {
background-color: #fff !important;
border: 0.5px solid var(--otl-border) !important;
border-radius: 4px !important;
padding: 32px 28px !important;
position: relative !important;
overflow: hidden !important;
transition: border-color 0.2s ease !important;
}
/* Gold left border accent on cards */
.feature-card::before,
[class*="feature-item"]::before {
content: '' !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
width: 2px !important;
height: 100% !important;
background-color: var(--otl-gold) !important;
}
.feature-card:hover,
[class*="feature-item"]:hover {
border-color: rgba(155, 125, 90, 0.5) !important;
}
/* Card headings */
.feature-card h3,
.feature-card h4,
[class*="feature-item"] h3 {
color: #2C1F12 !important;
font-size: 20px !important;
font-weight: 400 !important;
margin-bottom: 10px !important;
}
/* Card text */
.feature-card p,
[class*="feature-item"] p {
color: var(--otl-muted) !important;
font-size: 14px !important;
line-height: 1.8 !important;
}
/* Dark background cards (coaching paths section) */
.section--brown .feature-card,
.section--brown [class*="feature-item"] {
background-color: rgba(240, 230, 214, 0.05) !important;
border-color: var(--otl-border) !important;
}
.section--brown .feature-card h3,
.section--brown [class*="feature-item"] h3 {
color: var(--otl-sand) !important;
}
.section--brown .feature-card p,
.section--brown [class*="feature-item"] p {
color: rgba(240, 230, 214, 0.62) !important;
}
/* ============================================
SECTION EYEBROW LABELS
============================================ */
.eyebrow,
.section-label,
.label-text,
[class*="eyebrow"] {
font-family: 'Inter', sans-serif !important;
font-size: 10px !important;
font-weight: 500 !important;
letter-spacing: 0.14em !important;
text-transform: uppercase !important;
color: var(--otl-gold) !important;
display: block !important;
margin-bottom: 10px !important;
}
/* ============================================
BLOCKQUOTE / SCRIPTURE
============================================ */
blockquote,
.blockquote {
font-family: 'Cormorant Garamond', serif !important;
font-size: 22px !important;
font-weight: 300 !important;
font-style: italic !important;
color: #2C1F12 !important;
border-left: 2px solid var(--otl-gold) !important;
padding-left: 22px !important;
margin: 24px 0 !important;
line-height: 1.55 !important;
}
blockquote cite,
.blockquote-cite {
font-family: 'Inter', sans-serif !important;
font-size: 12px !important;
font-style: normal !important;
color: var(--otl-gold) !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
display: block !important;
margin-top: 10px !important;
}
/* ============================================
FORMS & EMAIL OPT-IN
============================================ */
input[type="email"],
input[type="text"],
input[type="tel"],
textarea {
background-color: #fff !important;
border: 0.5px solid var(--otl-border) !important;
border-radius: 2px !important;
padding: 13px 16px !important;
font-family: 'Inter', sans-serif !important;
font-size: 14px !important;
color: #3D2B1A !important;
outline: none !important;
transition: border-color 0.2s ease !important;
width: 100% !important;
}
input[type="email"]:focus,
input[type="text"]:focus,
textarea:focus {
border-color: var(--otl-gold) !important;
box-shadow: 0 0 0 3px rgba(155, 125, 90, 0.12) !important;
}
::placeholder {
color: rgba(122, 99, 82, 0.5) !important;
}
/* ============================================
PODCAST & BLOG CARDS
============================================ */
.post-card,
.podcast-card,
[class*="blog-card"],
[class*="post-item"] {
background-color: #fff !important;
border: 0.5px solid var(--otl-border) !important;
border-radius: 4px !important;
overflow: hidden !important;
transition: border-color 0.2s ease !important;
}
.post-card:hover,
.podcast-card:hover {
border-color: var(--otl-gold) !important;
}
.post-card h3,
.podcast-card h3,
[class*="post-item"] h3 {
font-family: 'Cormorant Garamond', serif !important;
font-size: 20px !important;
font-weight: 400 !important;
color: #2C1F12 !important;
}
/* ============================================
PRODUCT / OFFER CARDS (Store / Programs)
============================================ */
.offer-card,
.product-card,
[class*="product-item"],
[class*="offer-item"] {
background-color: #fff !important;
border: 0.5px solid var(--otl-border) !important;
border-radius: 4px !important;
padding: 28px !important;
}
.offer-card h3,
.product-card h3 {
font-family: 'Cormorant Garamond', serif !important;
color: #2C1F12 !important;
font-size: 22px !important;
}
/* ============================================
FOOTER
============================================ */
footer,
.site-footer,
[class*="footer"] {
background-color: var(--otl-dark) !important;
border-top: 0.5px solid var(--otl-border) !important;
padding: 36px 40px !important;
color: rgba(212, 184, 150, 0.6) !important;
}
footer a,
.site-footer a,
[class*="footer"] a {
color: rgba(212, 184, 150, 0.55) !important;
font-size: 11px !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
text-decoration: none !important;
transition: color 0.2s ease !important;
}
footer a:hover,
.site-footer a:hover {
color: var(--otl-sand) !important;
}
footer p,
.site-footer p,
.footer-copy {
color: rgba(212, 184, 150, 0.35) !important;
font-size: 11px !important;
}
/* ============================================
SECTION DIVIDER / RULE
============================================ */
hr {
border: none !important;
height: 0.5px !important;
background: linear-gradient(90deg, transparent, rgba(155,125,90,0.35), transparent) !important;
margin: 0 !important;
}
/* ============================================
SECTION PADDING — CONSISTENT SPACING
============================================ */
section,
.section,
[class*="section--"] {
padding-top: 80px !important;
padding-bottom: 80px !important;
padding-left: 40px !important;
padding-right: 40px !important;
}
/* ============================================
MOBILE RESPONSIVE OVERRIDES
============================================ */
@media (max-width: 768px) {
h1 { font-size: 36px !important; }
h2 { font-size: 28px !important; }
h3 { font-size: 22px !important; }
section,
.section {
padding: 52px 20px !important;
}
.site-header,
header {
padding: 16px 20px !important;
}
.hero-section h1,
[class*="hero"] h1 {
font-size: 36px !important;
}
blockquote {
font-size: 18px !important;
}
}