:root {
    /* Fonts */
    --font-primary: 'Oswald', sans-serif;
    --font-secondary: 'Nunito', sans-serif;

    /* Bright Color Scheme */
    --color-primary: #00A9E0; /* Vibrant Blue */
    --color-primary-darker: #0086B3;
    --color-primary-rgb: 0, 169, 224; /* For box-shadow alpha */
    --color-accent: #FF6B00;  /* Bright Orange */
    --color-accent-darker: #CC5600;
    --color-success: #48C774; /* Bulma Green */
    --color-success-darker: #3AA05C;
    --color-info: #3273DC; /* Bulma Blue for links */
    --color-info-darker: #285AAB;

    /* Text Colors */
    --text-color-light-bg: #333333;
    --text-color-dark-bg: #FFFFFF;
    --text-color-muted-light-bg: #555555;
    --text-color-muted-dark-bg: #B0B0B0;
    --text-color-headings-light-bg: #222222;
    --text-color-headings-dark-bg: #FFFFFF;

    /* Background Colors */
    --bg-light: #FFFFFF;
    --bg-light-accent: #F0F8FF; /* AliceBlue - subtle light blue */
    --bg-dark: #1C1E22;
    --bg-dark-section: #282C34;

    /* Glassmorphism */
    --glass-bg-light: rgba(255, 255, 255, 0.35);
    --glass-bg-dark: rgba(40, 44, 52, 0.65);
    --glass-blur: 10px;
    --glass-border-light: rgba(255, 255, 255, 0.5);
    --glass-border-dark: rgba(255, 255, 255, 0.15);
    --glass-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.17);

    /* Transitions & Animations */
    --transition-speed-fast: 0.2s;
    --transition-speed-normal: 0.4s;
    --transition-easing: cubic-bezier(0.25, 0.46, 0.45, 0.94);

    /* Header Height */
    --header-height: 5rem; /* Default Bulma navbar height approx */
}

/* Dark Mode Variables */
body.dark-mode {
    --color-primary: #00BFFF;
    --color-primary-darker: #00A9E0;
    --color-accent: #FFA500;
    --color-accent-darker: #FF8C00;

    --text-color-light-bg: #E0E0E0;
    --text-color-dark-bg: #121212;
    --text-color-muted-light-bg: #A0A0A0;
    --text-color-muted-dark-bg: #555555;
    --text-color-headings-light-bg: #FFFFFF;
    --text-color-headings-dark-bg: #000000;

    --bg-light: #282C34;
    --bg-light-accent: #333842;
    --bg-dark: #F5F5F5;
    --bg-dark-section: #FFFFFF;

    --glass-bg-light: rgba(40, 44, 52, 0.65);
    --glass-bg-dark: rgba(230, 230, 230, 0.35);
    --glass-border-light: rgba(255, 255, 255, 0.15);
    --glass-border-dark: rgba(0, 0, 0, 0.2);
}

/* Basic Setup */
html {
    scroll-behavior: smooth;
    font-size: 16px; /* Base font size */
}

body {
    font-family: var(--font-secondary);
    color: var(--text-color-light-bg);
    background-color: var(--bg-light);
    line-height: 1.6;
    overflow-x: hidden; /* Prevent horizontal scroll */
    transition: background-color var(--transition-speed-normal), color var(--transition-speed-normal);
}

body.dark-mode {
    background-color: var(--bg-dark);
    color: var(--text-color-dark-bg);
}

/* Headings */
h1, h2, h3, h4, h5, h6, .title, .subtitle {
    font-family: var(--font-primary);
    color: var(--text-color-headings-light-bg);
    font-weight: 700;
}
body.dark-mode h1, body.dark-mode h2, body.dark-mode h3, body.dark-mode h4, body.dark-mode h5, body.dark-mode h6,
body.dark-mode .title, body.dark-mode .subtitle {
    color: var(--text-color-headings-dark-bg);
}
.title.is-1 { font-size: 3rem; margin-bottom: 1.5rem;}
.title.is-2 { font-size: 2.5rem; margin-bottom: 1.25rem;}
.title.is-3 { font-size: 2rem; margin-bottom: 1rem;}
.title.is-4 { font-size: 1.5rem; margin-bottom: 0.75rem;}

.subtitle {
    font-family: var(--font-secondary);
    font-weight: 400;
    color: var(--text-color-muted-light-bg);
    line-height: 1.5;
}
body.dark-mode .subtitle {
    color: var(--text-color-muted-dark-bg);
}

p {
    font-family: var(--font-secondary);
    margin-bottom: 1rem;
    line-height: 1.7;
    color: var(--text-color-light-bg);
}
body.dark-mode p {
    color: var(--text-color-dark-bg);
}


/* Links */
a {
    color: var(--color-info);
    transition: color var(--transition-speed-fast) var(--transition-easing);
}
a:hover {
    color: var(--color-info-darker);
}

/* Global Button Styling (complementing Bulma) */
.button, button, input[type="submit"], input[type="button"] {
    font-family: var(--font-secondary);
    font-weight: 700;
    border-radius: 8px;
    transition: all var(--transition-speed-fast) var(--transition-easing);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    padding: 0.75em 1.5em;
    border: none; /* Remove default browser borders */
}

.button:hover, button:hover, input[type="submit"]:hover, input[type="button"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

.button.is-primary {
    background-color: var(--color-primary);
    color: var(--text-color-dark-bg);
}
.button.is-primary:hover {
    background-color: var(--color-primary-darker);
    color: var(--text-color-dark-bg);
}

.button.is-link {
    background-color: var(--color-info);
    color: var(--text-color-dark-bg);
}
.button.is-link:hover {
    background-color: var(--color-info-darker);
    color: var(--text-color-dark-bg);
}

.button.is-primary.is-outlined {
    background-color: transparent;
    border: 2px solid var(--color-primary);
    color: var(--color-primary);
}
.button.is-primary.is-outlined:hover {
    background-color: var(--color-primary);
    color: var(--text-color-dark-bg);
}

.button.is-link.is-outlined {
    background-color: transparent;
    border: 2px solid var(--color-info);
    color: var(--color-info);
}
.button.is-link.is-outlined:hover {
    background-color: var(--color-info);
    color: var(--text-color-dark-bg);
}

/* Glassmorphism Button */
.glassmorphism-button {
    background: var(--glass-bg-light);
    border: 1px solid var(--glass-border-light);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    color: var(--text-color-light-bg);
    box-shadow: var(--glass-shadow);
}
.glassmorphism-button:hover {
    background: rgba(255, 255, 255, 0.55);
}
body.dark-mode .glassmorphism-button {
    background: var(--glass-bg-dark);
    border: 1px solid var(--glass-border-dark);
    color: var(--text-color-dark-bg);
}
body.dark-mode .glassmorphism-button:hover {
     background: rgba(50, 50, 50, 0.75);
}

/* Icons in buttons */
.button .icon img {
    max-height: 1.2em; /* Control icon size within button */
    /* Default: Assuming icons are meant to be light on dark buttons or dark on light buttons */
}
.button.is-primary .icon img,
.button.is-link .icon img,
.glassmorphism-button .icon img {
    filter: brightness(0) invert(1); /* Makes icons white if they are dark */
}
.button.is-primary.is-outlined .icon img,
.button.is-link.is-outlined .icon img {
    filter: none; /* Reset for outlined buttons where icon might need its original color or themed color */
}
.button.is-primary.is-outlined:hover .icon img,
.button.is-link.is-outlined:hover .icon img {
     filter: brightness(0) invert(1);
}


/* Header & Navigation */
.header.is-fixed-top {
    z-index: 1020; /* Higher than other content like popups */
}
.glassmorphism-nav {
    background: var(--glass-bg-light);
    border-bottom: 1px solid var(--glass-border-light);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    box-shadow: var(--glass-shadow);
    transition: background-color var(--transition-speed-normal);
}
body.dark-mode .glassmorphism-nav {
    background: var(--glass-bg-dark);
    border-bottom: 1px solid var(--glass-border-dark);
}

.navbar-item, .navbar-link {
    font-family: var(--font-secondary);
    font-weight: 700;
    color: var(--text-color-light-bg);
    transition: color var(--transition-speed-fast) var(--transition-easing);
}
.navbar-item:hover, .navbar-link:hover, .navbar-item.is-active {
    background-color: transparent !important;
    color: var(--color-primary) !important;
}
body.dark-mode .navbar-item, body.dark-mode .navbar-link {
    color: var(--text-color-dark-bg);
}
body.dark-mode .navbar-item:hover, body.dark-mode .navbar-link:hover, body.dark-mode .navbar-item.is-active {
    color: var(--color-primary) !important;
}
.navbar-burger span {
    background-color: var(--text-color-light-bg);
    transition: background-color var(--transition-speed-normal);
}
body.dark-mode .navbar-burger span {
    background-color: var(--text-color-dark-bg);
}
.navbar-menu.is-active { /* Mobile menu */
    background-color: var(--glass-bg-light);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    box-shadow: 0 8px 16px rgba(10,10,10,.1);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
body.dark-mode .navbar-menu.is-active {
    background-color: var(--glass-bg-dark);
}

/* Dark Mode Toggle Switch */
.switch { position: relative; display: inline-block; width: 50px; height: 26px; vertical-align: middle;}
.switch input { opacity: 0; width: 0; height: 0; }
.slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #ccc; transition: .4s; }
.slider:before { position: absolute; content: ""; height: 20px; width: 20px; left: 3px; bottom: 3px; background-color: white; transition: .4s; }
input:checked + .slider { background-color: var(--color-primary); }
input:focus + .slider { box-shadow: 0 0 1px var(--color-primary); }
input:checked + .slider:before { transform: translateX(24px); }
.slider.round { border-radius: 26px; }
.slider.round:before { border-radius: 50%; }
#darkModeToggle + span { margin-left: 8px; font-family: var(--font-secondary); color: var(--text-color-light-bg); vertical-align: middle; }
body.dark-mode #darkModeToggle + span { color: var(--text-color-dark-bg); }


/* Hero Section */
#hero {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    color: var(--text-color-dark-bg) !important; /* Ensure white text for all children */
}
#hero .hero-body {
    position: relative;
    z-index: 2;
    padding: 3rem 1.5rem; /* Ensure padding for content */
}
#hero .title.is-1 {
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--text-color-dark-bg) !important;
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    margin-bottom: 1rem;
}
#hero .subtitle.is-4 {
    font-family: var(--font-secondary);
    color: var(--text-color-dark-bg) !important;
    text-shadow: 1px 1px 6px rgba(0,0,0,0.6);
    line-height: 1.6;
    max-width: 750px;
    margin: 0 auto 2.5rem auto;
}
#hero .button.is-primary { /* Specific for hero button */
    background-color: var(--color-accent);
    color: var(--text-color-dark-bg);
}
#hero .button.is-primary:hover {
    background-color: var(--color-accent-darker);
}
#hero .button.is-primary .icon img { /* Ensure icon is white */
    filter: brightness(0) invert(1);
}

/* Sections General */
.section {
    padding: 4rem 1.5rem;
}
.section-title {
    font-family: var(--font-primary);
    color: var(--text-color-headings-light-bg);
    margin-bottom: 3rem !important;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 700;
    text-shadow: 1px 1px 3px rgba(0,0,0,0.15); /* Stronger shadow for titles */
}
body.dark-mode .section-title {
    color: var(--text-color-headings-dark-bg);
    text-shadow: 1px 1px 3px rgba(255,255,255,0.1);
}

.section-dark {
    background-color: var(--bg-dark-section);
}
.section-dark .section-title,
.section-dark .title,
.section-dark .subtitle,
.section-dark p,
.section-dark .heading {
    color: var(--text-color-dark-bg) !important;
}
.section-dark .subtitle.has-text-grey-light, /* Override Bulma helper */
.section-dark .has-text-light {
    color: var(--text-color-muted-dark-bg) !important;
}
.section-dark a:not(.button) {
    color: var(--color-primary);
}
.section-dark a:not(.button):hover {
    color: var(--color-primary-darker);
}

.section-light-accent {
    background-color: var(--bg-light-accent);
}
body.dark-mode .section-light-accent {
    background-color: var(--bg-dark); /* Dark mode equivalent of light accent */
}

/* Glassmorphism Cards */
.glassmorphism-card,
.glassmorphism-card-dark,
.glassmorphism-card-light {
    border-radius: 15px;
    padding: 1.5rem; /* Consistent padding */
    box-shadow: var(--glass-shadow);
    transition: transform var(--transition-speed-normal) var(--transition-easing),
                box-shadow var(--transition-speed-normal) var(--transition-easing);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%; /* Make cards in a row equal height */
}
.glassmorphism-card:hover,
.glassmorphism-card-dark:hover,
.glassmorphism-card-light:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 12px 40px 0 rgba(31, 38, 135, 0.25);
}

.glassmorphism-card { /* Default for light backgrounds */
    background: var(--glass-bg-light);
    border: 1px solid var(--glass-border-light);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}
.glassmorphism-card .title, .glassmorphism-card .subtitle, .glassmorphism-card p, .glassmorphism-card .heading {
    color: var(--text-color-light-bg);
}
.glassmorphism-card .subtitle { color: var(--text-color-muted-light-bg); }


.glassmorphism-card-dark { /* For dark sections */
    background: var(--glass-bg-dark);
    border: 1px solid var(--glass-border-dark);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}
.glassmorphism-card-dark .title, .glassmorphism-card-dark .subtitle, .glassmorphism-card-dark p, .glassmorphism-card-dark .heading {
    color: var(--text-color-dark-bg) !important;
}
.glassmorphism-card-dark .subtitle.has-text-grey-light,
.glassmorphism-card-dark .has-text-light {
    color: var(--text-color-muted-dark-bg) !important;
}


.glassmorphism-card-light { /* For light accent backgrounds, more opaque */
    background: rgba(255, 255, 255, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}
.glassmorphism-card-light .title, .glassmorphism-card-light .subtitle, .glassmorphism-card-light p {
    color: var(--text-color-light-bg);
}
.glassmorphism-card-light .subtitle { color: var(--text-color-muted-light-bg); }


/* Card image and content */
.card .card-image { /* Bulma's structure */
    text-align: center; /* Centers figure if inline-block */
    margin-bottom: 1rem; /* Space between image and content */
    display: flex; /* For STROGO rule */
    flex-direction: column; /* For STROGO rule */
    align-items: center; /* For STROGO rule */
}
.card .card-image figure.image img, /* for icons in cards */
.card .card-image img { /* for direct images in cards */
    max-height: 128px; /* Control max height for consistency if they are icons/logos */
    object-fit: contain; /* For icons/logos to not be cropped */
}
.card .card-content {
    flex-grow: 1; /* Content fills space */
    text-align: left; /* Default */
}
.card .card-content .title, .card .card-content .subtitle {
    margin-bottom: 0.75rem;
}

/* Specific card centering (if design requires text in card to be centered) */
.testimonial-card .card-content, .career-card .card-content {
     /* text-align: center; */ /* Uncomment if needed */
}
.testimonial-card .media-left .image img.is-rounded {
    border-radius: 50% !important;
}
.resource-card .card-content p:first-of-type a { /* The title link */
    color: var(--color-primary);
}
.resource-card .card-content p:first-of-type a:hover {
    color: var(--color-primary-darker);
}


/* Timeline for History Section */
.timeline .timeline-item .timeline-marker.is-icon img {
    filter: invert(47%) sepia(87%) saturate(1615%) hue-rotate(172deg) brightness(97%) contrast(101%); /* Primary color tint */
}
.timeline .timeline-content {
    padding: 1.5em;
}
.timeline .timeline-content .heading {
    font-family: var(--font-secondary);
    font-size: 0.9rem;
    color: var(--text-color-muted-light-bg);
    text-transform: uppercase;
}
.glassmorphism-card-dark .timeline .timeline-content .heading {
    color: var(--text-color-muted-dark-bg);
}

/* Images in sections (not cards) */
.image-responsive {
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.12);
    display: block;
    margin-left: auto;
    margin-right: auto;
}


/* Footer */
.footer.glassmorphism-footer {
    background: var(--glass-bg-dark);
    border-top: 1px solid var(--glass-border-dark);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    color: var(--text-color-dark-bg);
    padding: 4rem 1.5rem 2rem;
}
body.dark-mode .footer.glassmorphism-footer { /* In dark mode, footer might be lighter glass */
    background: var(--glass-bg-light);
    border-top: 1px solid var(--glass-border-light);
    color: var(--text-color-light-bg);
}

.footer .title.is-5 {
    font-family: var(--font-primary);
    color: var(--text-color-dark-bg) !important; /* Ensure footer titles are light on dark glass */
    margin-bottom: 1.25rem;
}
body.dark-mode .footer .title.is-5 {
    color: var(--text-color-light-bg) !important;
}

.footer p, .footer ul li {
    font-family: var(--font-secondary);
    color: var(--text-color-muted-dark-bg) !important; /* Muted light text */
    line-height: 1.7;
}
body.dark-mode .footer p, body.dark-mode .footer ul li {
    color: var(--text-color-muted-light-bg) !important;
}

.footer a.has-text-light { /* Bulma helper class */
    color: var(--text-color-muted-dark-bg) !important;
    transition: color var(--transition-speed-fast) var(--transition-easing);
}
.footer a.has-text-light:hover {
    color: var(--color-primary) !important;
}
body.dark-mode .footer a.has-text-light {
     color: var(--text-color-muted-light-bg) !important;
}
body.dark-mode .footer a.has-text-light:hover {
    color: var(--color-primary) !important;
}

.footer hr {
    background-color: rgba(255, 255, 255, 0.1);
    height: 1px;
    margin: 2rem 0;
}
body.dark-mode .footer hr {
    background-color: rgba(0,0,0,0.1);
}
.footer .content p.is-size-7 { opacity: 0.8; }


/* Specific Page Styles (About, Contact, Privacy, Terms) */
.page-content-padding,
body[data-barba-namespace="about"] main,
body[data-barba-namespace="contacts"] main,
body[data-barba-namespace="privacy"] main,
body[data-barba-namespace="terms"] main {
    padding-top: calc(var(--header-height) + 2rem);
    padding-bottom: 2rem;
}
body[data-barba-namespace="about"] .section, /* Reduce top padding for sections on these pages */
body[data-barba-namespace="contacts"] .section,
body[data-barba-namespace="privacy"] .section,
body[data-barba-namespace="terms"] .section {
    padding-top: 2rem;
}

/* Success Page */
#success-page { /* Apply to body of success.html if possible or a main wrapper */
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    text-align: center;
    background-color: var(--bg-light);
    padding: 2rem;
}
body.dark-mode #success-page {
    background-color: var(--bg-dark);
}
#success-page .success-container {
    background: var(--glass-bg-light);
    border: 1px solid var(--glass-border-light);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
    padding: 3rem;
    border-radius: 15px;
    box-shadow: var(--glass-shadow);
    max-width: 600px;
}
body.dark-mode #success-page .success-container {
    background: var(--glass-bg-dark);
    border: 1px solid var(--glass-border-dark);
}
#success-page .success-icon img {
    width: 80px;
    height: 80px;
    margin-bottom: 1.5rem;
    /* Color for success icon (green) */
    filter: invert(56%) sepia(74%) saturate(468%) hue-rotate(85deg) brightness(97%) contrast(94%);
}
#success-page h1 {
    font-family: var(--font-primary);
    font-size: 2.5rem;
    color: var(--color-success);
    margin-bottom: 1rem;
}
#success-page p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
}


/* Contact Form (contacts.html) */
.contact-form .field .label {
    font-family: var(--font-secondary);
    font-weight: 700;
    margin-bottom: 0.75rem;
}
.contact-form .input,
.contact-form .textarea {
    font-family: var(--font-secondary);
    border-radius: 8px;
    border: 1px solid #DBDBDB; /* Default Bulma border */
    background-color: rgba(255, 255, 255, 0.85);
    transition: all var(--transition-speed-fast) var(--transition-easing);
    padding: 0.75em 1em;
    box-shadow: inset 0 1px 3px rgba(10,10,10,.08);
}
.contact-form .input:focus,
.contact-form .textarea:focus {
    border-color: var(--color-primary);
    box-shadow: 0 0 0 0.125em rgba(var(--color-primary-rgb), 0.25), inset 0 1px 3px rgba(10,10,10,.08);
    background-color: #fff;
}
body.dark-mode .contact-form .input,
body.dark-mode .contact-form .textarea {
    background-color: rgba(70, 70, 70, 0.85);
    border-color: #555;
    color: var(--text-color-dark-bg);
}
body.dark-mode .contact-form .input::placeholder,
body.dark-mode .contact-form .textarea::placeholder { color: #999; }

body.dark-mode .contact-form .input:focus,
body.dark-mode .contact-form .textarea:focus {
    border-color: var(--color-primary);
    background-color: #404040;
    box-shadow: 0 0 0 0.125em rgba(var(--color-primary-rgb), 0.35), inset 0 1px 3px rgba(200,200,200,.08);
}
#contact-info .content p { font-size: 1.1rem; line-height: 1.8; }
#contact-info .content strong { color: var(--text-color-headings-light-bg); }
body.dark-mode #contact-info .content strong { color: var(--text-color-headings-dark-bg); }
#contact-info .content a { color: var(--color-primary); font-weight: bold; }
#contact-info .content a:hover { color: var(--color-primary-darker); }


/* Scroll Animations */
.scroll-animate {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.6s var(--transition-easing),
                transform 0.6s var(--transition-easing);
}
.scroll-animate.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Cookie Consent Popup */
#cookieConsentPopup { /* Positioned fixed by inline style in HTML */
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}
#cookieConsentPopup p {
    color: #fff !important; /* Ensure white text */
}
#cookieConsentPopup a {
    color: var(--color-success) !important; /* Use a bright color for link */
}


/* Responsive Adjustments */
@media screen and (max-width: 1023px) { /* Tablet */
    .navbar-menu { padding: 0.5rem 0; }
    .navbar-item { padding: 0.75rem 1rem; }
    .columns.is-multiline .column { margin-bottom: 1.5rem; } /* Add spacing for stacked columns */
}

@media screen and (max-width: 768px) { /* Mobile */
    html { font-size: 15px; } /* Slightly smaller base for mobile */
    .section { padding: 2.5rem 1rem; }
    .section-title { font-size: 1.8rem; margin-bottom: 2rem !important; }
    .title.is-1 { font-size: 2.2rem; }
    #hero .title.is-1 { font-size: 2.5rem; }
    #hero .subtitle.is-4 { font-size: 1.1rem; }
    .footer .columns { text-align: center; }
    .footer .column:not(:last-child) { margin-bottom: 2rem; }
    .page-content-padding { padding-top: calc(var(--header-height) + 1rem); }
    #hero .button.is-large { font-size: 1rem; padding: 0.75em 1.25em; }
}