/* FREECAN's editorial refinement. Content and Elementor documents stay intact. */
body.freecan-documentary {
    --fc-width: 1280px;
    --fc-red: #c92632;
    --fc-deep: #113c2a;
    --fc-paper: #f8f8f4;
    --fc-line: #e3e8df;
    background: var(--fc-paper);
    color: #18251d;
    line-height: 1.6;
}
.freecan-documentary a:focus-visible,
.freecan-documentary button:focus-visible { outline-color: #a6ce82; }
.freecan-documentary .fc-site-header { border-bottom: 1px solid #ffffff20; }
.freecan-documentary .elementor-element.fc-header-row {
    min-height: 112px;
    padding-top: 10px;
    padding-bottom: 10px;
    gap: 7%;
}
.freecan-documentary .elementor-element.fc-logo { width: 125px; flex-basis: 125px; }
.freecan-documentary .fc-logo img { width: 125px; max-height: 94px; }
.freecan-documentary .fc-menu { gap: 24px; }
.freecan-documentary .fc-menu a {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -.015em;
    padding: 12px 0;
}
.freecan-documentary .fc-menu .fc-menu-donate a {
    padding: 12px 23px;
    border-radius: 5px;
    background: var(--fc-red);
}
.freecan-documentary.fc-page-get-support .fc-menu .fc-menu-get-support > a:after { height: 2px; bottom: 2px; background: #9dbf89; }
.freecan-documentary .elementor-element.fc-hero { min-height: 510px; }
.freecan-documentary .elementor-element.fc-hero-copy {
    width: 49%;
    padding-top: 52px;
    padding-bottom: 52px;
}
body.freecan-documentary .fc-section .elementor-element.fc-eyebrow.elementor-widget-heading .elementor-heading-title {
    font-size: 12px;
    font-style: normal;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.freecan-documentary .fc-eyebrow:after { width: 36px; height: 2px; margin-top: 13px; }
body.freecan-documentary .fc-section .elementor-element.fc-hero-title {
    margin-block-start: 22px !important;
    margin-block-end: 23px !important;
}
body.freecan-documentary .fc-section .elementor-element.fc-hero-title.elementor-widget-heading .elementor-heading-title {
    font-size: clamp(44px, 4.7vw, 66px);
    line-height: 1.035;
    letter-spacing: -.045em;
    font-weight: 760;
    text-wrap: balance;
}
body.freecan-documentary .fc-section .elementor-element.elementor-widget-text-editor {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
}
.freecan-documentary .fc-hero-copy .elementor-widget-text-editor { max-width: 440px; }
.freecan-documentary .fc-hero-photo:after {
    width: 165px;
    background: linear-gradient(90deg, #000 0%, #0009 45%, transparent 100%);
}
.freecan-documentary .elementor-element.fc-hero-photo img,
.freecan-documentary .elementor-element.fc-band-leaves img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.freecan-documentary .elementor-element.fc-buttons { margin-top: 29px; gap: 12px; }
body.freecan-documentary .fc-section .elementor-element.fc-button .elementor-button {
    min-height: 49px;
    gap: 15px;
    border-width: 1px;
    border-radius: 5px;
    padding: 13px 22px;
    background: var(--fc-red);
    border-color: var(--fc-red);
    color: #fff;
    font-size: 14px;
    font-weight: 650;
    line-height: 1.4;
    letter-spacing: .01em;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
body.freecan-documentary .fc-section .elementor-element.fc-button .elementor-button:after {
    content: '';
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background-color: currentColor;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M3 10h13M10 4l6 6-6 6' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
body.freecan-documentary .fc-section .elementor-element.fc-button .elementor-button:hover {
    background: #a91b27;
    border-color: #a91b27;
    transform: translateY(-1px);
}
body.freecan-documentary .fc-section .elementor-element.fc-button-outline .elementor-button {
    background: transparent;
    border-color: currentColor;
    color: inherit;
}
body.freecan-documentary .fc-section .elementor-element.fc-button-outline .elementor-button:hover {
    background: #82927f15;
    border-color: currentColor;
}
.freecan-documentary .elementor-element.fc-content { padding: 62px 4.5%; }
body.freecan-documentary .fc-content > .elementor-widget-heading { margin-block-end: 23px !important; }
body.freecan-documentary .fc-section .elementor-element.elementor-widget-heading .elementor-heading-title {
    font-weight: 700;
    letter-spacing: -.035em;
}
body.freecan-documentary .fc-content > .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(31px, 3.5vw, 44px);
    line-height: 1.12;
}
.freecan-documentary .fc-content > .elementor-widget-text-editor { max-width: 920px; }
.freecan-documentary .fc-content > .elementor-widget-text-editor p + p { margin-top: 14px; }
.freecan-documentary .fc-marker:before { width: 36px; height: 2px; margin-bottom: 19px; }
.freecan-documentary .elementor-element.fc-programmes { padding-top: 0; padding-bottom: 70px; }
.freecan-documentary .fc-programmes > .elementor-widget-heading { margin-left: 0; }
.freecan-documentary .elementor-element.fc-programme-grid { gap: 24px; }
.freecan-documentary .elementor-element.fc-programme-card {
    width: calc((100% - 48px) / 3);
    background: #fff;
    border: 1px solid var(--fc-line);
    border-radius: 10px;
    overflow: hidden;
    height: auto;
    flex: 0 0 auto;
    padding-bottom: 24px;
    transition: box-shadow .2s ease, transform .2s ease;
}
.freecan-documentary .fc-programme-card:hover,
.freecan-documentary .fc-programme-card:focus-within {
    box-shadow: 0 16px 36px #1535210d;
    transform: translateY(-3px);
}
.freecan-documentary .elementor-element.fc-programme-image {
    margin-block-end: 19px !important;
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 1.3;
    position: relative;
    overflow: hidden;
}
.freecan-documentary .elementor-element.fc-programme-image > .elementor-widget-container,
.freecan-documentary .elementor-element.fc-programme-image a {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
}
.freecan-documentary .elementor-element.fc-programme-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.freecan-documentary .fc-programme-image img { aspect-ratio: 1.3; }
.freecan-documentary .fc-programme-card > .elementor-widget-heading,
.freecan-documentary .fc-programme-card > .elementor-widget-text-editor { padding-inline: 21px; }
body.freecan-documentary .fc-programme-card .elementor-element.elementor-widget-heading .elementor-heading-title {
    font-size: clamp(19px, 1.9vw, 23px);
    line-height: 1.23;
    font-weight: 650;
    letter-spacing: -.025em;
}
body.freecan-documentary .fc-programme-card .elementor-element.elementor-widget-text-editor {
    margin-block-start: 9px !important;
    color: #61705e;
    font-size: 12px;
    letter-spacing: .025em;
    line-height: 1.5;
}
.freecan-documentary .elementor-element.fc-green-band,
.freecan-documentary .elementor-element.fc-gift-purpose {
    background: #113c2a;
    padding-top: 51px;
    padding-bottom: 51px;
}
.freecan-documentary .elementor-element.fc-band-leaves { width: 27%; opacity: .65; }
.freecan-documentary .fc-band-leaves:after { background: linear-gradient(90deg, #113c2a, transparent 75%); }
.freecan-documentary .elementor-element.fc-footer-wrap {
    padding-top: 28px;
    padding-bottom: 30px;
    min-height: 100px;
}
.freecan-documentary .fc-site-footer { background: #091b12; border-top: 1px solid #ffffff1a; }
body.freecan-documentary .fc-footer-wrap .elementor-element.fc-footer-tagline .elementor-heading-title {
    font-size: 17px;
    font-weight: 600;
    letter-spacing: -.02em;
}
.freecan-documentary .fc-footer-tagline:after { width: 144px; height: 9px; border-top-width: 2px; opacity: .7; }
.freecan-documentary .fc-footer-contact { color: #d6e0d6; }
body.freecan-documentary .fc-footer-wrap .elementor-element.fc-footer-contact.elementor-widget-text-editor {
    font-size: 13px;
    line-height: 1.6;
    color: #d6e0d6;
}
.freecan-documentary .fc-footer-contact a { text-decoration: none; }
.freecan-documentary .fc-footer-contact a:hover { text-decoration: underline; }
.freecan-documentary .elementor-element.fc-steps { padding-top: 56px; }
.freecan-documentary .elementor-element.fc-step { padding-inline: 26px; border-color: var(--fc-line); }
body.freecan-documentary .fc-step .elementor-element.fc-step-number.elementor-widget-heading .elementor-heading-title { font-size: 42px; font-weight: 500; color: #477348; line-height: 1.1; letter-spacing: -.045em; }
body.freecan-documentary .fc-step > .elementor-widget-heading:not(.fc-step-number) .elementor-heading-title { font-size: 18px; font-weight: 600; line-height: 1.35; letter-spacing: -.025em; }
.freecan-documentary .fc-steps-note { padding-top: 19px; color: #566452; }
.freecan-documentary .elementor-element.fc-split-story { gap: 42px; padding-top: 0; }
body.freecan-documentary .fc-story-copy .elementor-widget-heading .elementor-heading-title {
    font-size: clamp(30px, 3vw, 39px);
    line-height: 1.15;
}
.freecan-documentary .fc-story-image img { border-radius: 10px; }
.freecan-documentary .elementor-element.fc-story-image img,
.freecan-documentary .elementor-element.fc-kit-photo img { width: 100%; height: 100%; object-fit: cover; }
.freecan-documentary .elementor-element.fc-privacy { background: #0a1c12; padding-block: 40px; }
.freecan-documentary .elementor-element.fc-features { margin-top: 34px; }
.freecan-documentary .elementor-element.fc-feature { border-color: var(--fc-line); }
.freecan-documentary .fc-feature-icon { max-width: 56px; margin-bottom: 21px !important; }
.freecan-documentary .fc-feature-icon img { width: 56px; height: 56px; }
.freecan-documentary .elementor-element.fc-gift-purpose { padding-right: 4.5%; gap: 38px; }
.freecan-documentary .elementor-element.fc-gift { padding-top: 16px; }
.freecan-documentary .elementor-element.fc-split-story.fc-gift-purpose {
    padding-block: 48px;
    align-items: center;
}
.freecan-documentary .fc-gift-purpose .fc-story-copy { padding-block: 0; }
.freecan-documentary .fc-gift-purpose .elementor-element.fc-story-image { min-height: 0; }
.freecan-documentary .elementor-element.fc-hero-winter { background: #113c2a; min-height: 600px; }
body.freecan-documentary .fc-hero-winter .elementor-element.fc-planned.elementor-widget-heading .elementor-heading-title {
    border: 1px solid #ffffff66;
    border-radius: 4px;
    padding: 5px 10px;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: .02em;
    font-weight: 500;
}
.freecan-documentary .fc-hero-winter .fc-buttons { gap: 11px; }
.freecan-documentary .fc-kit > .elementor-widget-heading:after { width: 36px; height: 2px; margin-top: 20px; }
.freecan-documentary .elementor-element.fc-kit-grid { margin-top: 28px; gap: 24px; }
.freecan-documentary .fc-kit-photo { overflow: hidden; border-radius: 10px; }
.freecan-documentary .elementor-element.fc-kit-item {
    background: #edf2e9;
    border: 1px solid #e2e8dd;
    border-radius: 9px;
    padding: 8px;
    min-height: 78px;
}
body.freecan-documentary .fc-kit-item .elementor-element.elementor-widget-heading .elementor-heading-title {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.35;
    letter-spacing: -.02em;
}
.freecan-documentary .elementor-element.fc-winter-end { background: #0a1c12; gap: 55px; padding-block: 48px; }
.freecan-documentary .elementor-element.fc-winter-end-copy + .fc-winter-end-copy { border-color: #ffffff30; padding-left: 55px; }
body.freecan-documentary .fc-winter-end-copy .elementor-widget-heading .elementor-heading-title { font-size: 34px; line-height: 1.14; }
.freecan-documentary .fc-winter-end-copy > .elementor-widget-heading:after { width: 36px; height: 2px; margin-top: 19px; }
@media (min-width: 768px) {
    .freecan-documentary .fc-green-band,
    .freecan-documentary .fc-gift-purpose,
    .freecan-documentary .fc-privacy,
    .freecan-documentary .fc-winter-end { padding-inline: max(4.5vw, calc((100vw - 1165px) / 2)); }
    body.freecan-documentary .fc-hero-winter .elementor-element.fc-hero-title.elementor-widget-heading .elementor-heading-title { font-size: clamp(43px, 4.25vw, 59px); }
    .freecan-documentary .elementor-element.fc-hero-winter > .fc-hero-copy { width: 43%; padding-top: 43px; padding-bottom: 43px; padding-right: 25px; }
    .freecan-documentary .elementor-element.fc-hero-winter > .fc-hero-photo { left: 43%; width: 57%; }
}
@media (min-width: 1441px) {
    .freecan-documentary .elementor-element.fc-hero { min-height: 580px; }
    .freecan-documentary .elementor-element.fc-hero-copy { padding-left: max(4.5vw, calc((100vw - 1165px) / 2)); }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .freecan-documentary .fc-menu { gap: 14px; }
    .freecan-documentary .fc-menu a { font-size: 13px; }
    .freecan-documentary .fc-menu .fc-menu-donate a { padding-inline: 16px; }
    .freecan-documentary .elementor-element.fc-logo { width: 110px; flex-basis: 110px; }
    .freecan-documentary .fc-logo img { width: 110px; }
    .freecan-documentary .elementor-element.fc-header-row { min-height: 98px; gap: 4%; }
    .freecan-documentary .elementor-element.fc-hero-copy { width: 51%; padding-block: 36px; }
    body.freecan-documentary .fc-section .elementor-element.fc-hero-title.elementor-widget-heading .elementor-heading-title { font-size: 43px; }
    body.freecan-documentary .fc-section .elementor-element.elementor-widget-text-editor { font-size: 16px; }
    .freecan-documentary .elementor-element.fc-hero-winter > .fc-hero-copy { width: 47%; }
    .freecan-documentary .elementor-element.fc-hero-winter > .fc-hero-photo { left: 47%; width: 53%; }
    .freecan-documentary .elementor-element.fc-programme-grid { gap: 16px; }
    .freecan-documentary .elementor-element.fc-programme-card { width: calc((100% - 32px) / 3); }
    .freecan-documentary .fc-programme-card > .elementor-widget-heading,
    .freecan-documentary .fc-programme-card > .elementor-widget-text-editor { padding-inline: 15px; }
}
@media (max-width: 767px) {
    .freecan-documentary .elementor-element.fc-header-row { min-height: 95px; padding: 8px 22px; }
    .freecan-documentary .elementor-element.fc-logo { width: 104px; flex-basis: 104px; }
    .freecan-documentary .fc-logo img { width: 104px; max-height: 80px; }
    .freecan-documentary .fc-menu-toggle { font-size: 13px; font-weight: 600; padding: 11px 13px; gap: 16px; border-color: #ffffff40; }
    .freecan-documentary .fc-menu { gap: 4px; border-radius: 6px; border-color: #ffffff25; }
    .freecan-documentary .fc-menu a { padding: 13px 14px; font-size: 15px; }
    .freecan-documentary .elementor-element.fc-hero { min-height: 0; }
    .freecan-documentary .elementor-element.fc-hero-copy { width: 100%; padding: 38px 24px 40px; }
    body.freecan-documentary .fc-section .elementor-element.fc-hero-title.elementor-widget-heading .elementor-heading-title { font-size: clamp(37px, 10.5vw, 49px); line-height: 1.07; letter-spacing: -.04em; }
    body.freecan-documentary .fc-section .elementor-element.fc-hero-title { margin-block-start: 20px !important; margin-block-end: 21px !important; }
    body.freecan-documentary .fc-section .elementor-element.fc-eyebrow.elementor-widget-heading .elementor-heading-title { font-size: 10px; letter-spacing: .12em; }
    body.freecan-documentary .fc-section .elementor-element.elementor-widget-text-editor { font-size: 16px; line-height: 1.65; }
    body.freecan-documentary .fc-section .elementor-element.fc-button .elementor-button { font-size: 13px; padding: 13px 17px; gap: 11px; }
    .freecan-documentary .elementor-element.fc-content { padding: 42px 24px; }
    body.freecan-documentary .fc-content > .elementor-widget-heading .elementor-heading-title { font-size: 32px; }
    .freecan-documentary .elementor-element.fc-programmes { padding-top: 0; padding-bottom: 46px; }
    .freecan-documentary .elementor-element.fc-programme-grid { gap: 22px; }
    .freecan-documentary .elementor-element.fc-programme-card { width: 100%; padding-bottom: 22px; }
    .freecan-documentary .fc-programme-image img { aspect-ratio: 1.45; }
    .freecan-documentary .elementor-element.fc-programme-image { aspect-ratio: 1.45; }
    body.freecan-documentary .fc-programme-card .elementor-element.elementor-widget-heading .elementor-heading-title { font-size: 22px; }
    body.freecan-documentary .fc-programme-card .elementor-element.elementor-widget-text-editor { font-size: 12px; }
    .freecan-documentary .elementor-element.fc-band-leaves { width: 50%; opacity: .2; }
    .freecan-documentary .elementor-element.fc-footer-wrap { padding: 28px 24px; gap: 21px; }
    .freecan-documentary .fc-footer-contact p { display: flex; flex-wrap: wrap; gap: 7px; }
    .freecan-documentary .elementor-element.fc-steps { padding-top: 42px; }
    .freecan-documentary .elementor-element.fc-step { padding-inline: 17px !important; }
    body.freecan-documentary .fc-step .elementor-element.fc-step-number.elementor-widget-heading .elementor-heading-title { font-size: 36px; }
    body.freecan-documentary .fc-step > .elementor-widget-heading:not(.fc-step-number) .elementor-heading-title { font-size: 16px; }
    .freecan-documentary .elementor-element.fc-split-story { gap: 26px; }
    .freecan-documentary .fc-story-image img { aspect-ratio: 1.6; }
    .freecan-documentary .elementor-element.fc-gift-purpose { padding: 42px 24px; }
    .freecan-documentary .elementor-element.fc-split-story.fc-gift-purpose { padding-block: 42px; }
    .freecan-documentary .fc-gift-purpose .fc-story-image { min-height: 0; }
    .freecan-documentary .fc-feature-icon { max-width: 48px; }
    .freecan-documentary .fc-feature-icon img { width: 48px; height: 48px; }
    .freecan-documentary .elementor-element.fc-hero-winter { min-height: 0; }
    .freecan-documentary .fc-hero-winter .fc-buttons .elementor-widget-button { max-width: 100%; }
    body.freecan-documentary .fc-kit-item .elementor-element.elementor-widget-heading .elementor-heading-title { font-size: 16px; }
    .freecan-documentary .elementor-element.fc-winter-end { gap: 32px; padding: 42px 24px; }
    .freecan-documentary .elementor-element.fc-winter-end-copy + .fc-winter-end-copy { padding-left: 0; padding-top: 30px; }
    body.freecan-documentary .fc-winter-end-copy .elementor-widget-heading .elementor-heading-title { font-size: 30px; }
}
@media (prefers-reduced-motion: reduce) {
    .freecan-documentary .fc-programme-card:hover,
    .freecan-documentary .fc-programme-card:focus-within,
    body.freecan-documentary .fc-section .elementor-element.fc-button .elementor-button:hover { transform: none; }
}
