html {
						scroll-behavior: smooth
					}

					@media (prefers-reduced-motion: reduce) {
						html {
							scroll-behavior: auto
						}
					}

					body {
						margin: 0;
						background: #FFFCF7
					}

					a {
						color: #315C45;
						transition: color 0.3s ease
					}

					a:hover {
						color: #E84B2C
					}
          .font-family {
            font-family: 'Merriweather Sans', 'Trebuchet MS', 'Segoe UI', sans-serif;
          }
          .grid-wrapper {
            max-width: 1240px;
          }
          .flex-center {
            display: flex; 
            align-items: center; 
            flex-wrap: wrap;
          }
          header {
            position: relative; 
            z-index: 3; 
            background: rgba(255,252,247,0.96); 
            border-bottom: 1px solid #ECE4D3
          }
          .header-wrapper {
             margin: 0 auto; 
             padding: 14px 32px; 
             display: flex; 
             flex-wrap: wrap; 
             align-items: center; 
             justify-content: space-between; 
             gap: 16px 32px;
          }
          .header-container {
            gap: 20px; 
          }
          .nav-link {
            color: #333532;
            text-decoration: none;
            padding: 10px 0;
            transition: color 0.3s ease;
          }
          .nav-link:hover,
          .nav-link:focus-visible {
            color: #E84B2C;
          }
          nav {
            gap: 4px 26px; 
            font-size: 16px; 
            font-weight: 600;
          }
          h1,
          h2,
          h3,
          h4,
          h5,
          h6 {
            color: #315C45;
            line-height: 1.15; 
            font-weight: 700;
          }
          h2 {
            font-size: clamp(32px, 3.4vw, 44px);
            margin:0;
          }
          h3 {
            font-size: 26px;
          }
          #top {
            position: relative; 
            overflow: hidden; 
            padding: 72px 32px 96px;
          }
          .hero-circle-1 {
            position: absolute; 
            width: 560px; 
            height: 560px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.13); 
            left: -260px; 
            top: -300px;
          }
          .hero-circle-2 {
            position: absolute; 
            width: 380px; 
            height: 380px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.20); 
            left: -230px; 
            top: -170px;
          }
          .hero-circle-3 {
            position: absolute; 
            width: 640px; 
            height: 640px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.12); 
            right: -300px; 
            bottom: -420px;
          }
          .hero-wrapper {
            position: relative; 
            margin: 0 auto;  
            gap: 48px 64px;
          }
          .hero-container {
            flex: 1 1 520px; 
            min-width: 0; 
            display: flex; 
            flex-direction: column; 
            gap: 28px;
          }
          .hero-container h1 {
            margin: 0; 
            color: #315C45; 
            font-style: italic; 
            line-height: 1.02; 
            letter-spacing: -0.01em;
          }
          .hero-container h1 span.smaller {
            display: block; 
            font-size: clamp(32px, 3.6vw, 48px); 
            font-weight: 500; 
            margin-bottom: 4px;
          }
          .hero-container h1 span.larger {
            display: block; 
            font-size: clamp(52px, 6.4vw, 88px); 
            font-weight: 700;
          }
          .hero-container p {
            margin: 0; 
            max-width: 540px; 
            font-size: 20px; 
            line-height: 1.6;
          }
          .hero-container .buttons {
            display: flex; 
            flex-wrap: wrap; 
            gap: 14px;
          }
          .btn {
            display: inline-flex; 
            align-items: center; 
            gap: 10px; 
            min-height: 56px; 
            padding: 0 30px; 
            border-radius: 999px; 
            text-decoration: none; 
            font-size: 19px; 
            font-weight: 700;
            width:fit-content;
          }
          .btn-1 {
            background: #E84B2C; 
            color: #FFFFFF; 
            outline: 3px solid transparent;
            outline-offset: 3px;
            transition: outline-color 0.3s ease;
          }
          .btn-1:hover,
          .btn-1:focus-visible {
            color: #FFFFFF;
            outline-color: #F4A08D;
          }
          .btn-2 {
            border: 2px solid #315C45; 
            color: #315C45;
            outline: 3px solid transparent;
            outline-offset: 3px;
            transition: outline-color 0.3s ease;
          }
          .btn-2:hover,
          .btn-2:focus-visible {
            color: #315C45;
            outline-color: #92A99C;
          }
          .hero-image-wrapper {
            flex: 1 1 420px; 
            min-width: 0; 
            position: relative; 
            height: 560px; 
            max-width: 560px; 
            margin: 0 auto;
          }
          .hero-image-wrapper-circle-1 {
            position: absolute; 
            width: 300px; 
            height: 300px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.38); 
            left: 0; 
            bottom: 10px;
          }
          .hero-image-wrapper-circle-2 {
            position: absolute; 
            width: 190px; 
            height: 190px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.22); 
            right: 4px; 
            top: 0;
          }
          .hero-image-wrapper-image {
            position: absolute; 
            width: 440px; 
            height: 440px; 
            max-width: 92%; 
            aspect-ratio: 1 / 1; 
            border-radius: 50%; 
            background: #DDE9D0; 
            right: 20px; 
            top: 40px; 
            display: flex; 
            flex-direction: column; 
            align-items: center; 
            justify-content: center; 
            gap: 12px; 
            text-align: center; 
            
            box-sizing: border-box; 
            color: #315C45; 
            border: 10px solid #FFFCF7;
            overflow: hidden;
          }
          .hero-image-wrapper-image img {
            width:100%;
            height:100%;
            object-fit: cover;
          }
          .dark-background {
            background: #315C45; 
            color: #FFFFFF; 
            padding: 30px 32px;
          }
          .quick-info-wrapper {
            margin: 0 auto; 
            display: flex; 
            flex-wrap: wrap; 
            gap: 20px 40px; 
            justify-content: space-between;
          }
          .quick-info-container {
            flex: 1 1 220px; 
            display: flex; 
            gap: 14px; 
            align-items: flex-start;
          }
          @media screen and (max-width:1068px) {
            .quick-info-container {
              flex: 1 1 35%;
            }
          }
          @media screen and (max-width:550px) {
            .quick-info-container {
              flex: 1 1 100%;
            }
          }
          .quick-info-container .info {
            display: flex; 
            flex-direction: column; 
            line-height: 1.45;
          }
          #about {
            position: relative; 
            padding: 104px 32px 96px;
          }
          .about-wrapper {
            margin: 0 auto; 
            display: flex; 
            flex-wrap: wrap; 
            gap: 48px 80px; 
            align-items: flex-start;
          }
          .about-container {
            flex: 1 1 560px; 
            min-width: 0; display: 
            flex; flex-direction: 
            column; gap: 20px;
          }
          .eyebrow {
            margin: 0; 
            color: #4E7A33; 
            font-size: 15px; 
            font-weight: 800; 
            letter-spacing: 0.1em; 
            text-transform: uppercase;
          }
          .eyebrow.dark {
            color:rgb(49, 92, 69);
          }
          .eyebrow .eyebrow-dot {
            color: #E84B2C;
          }
          .about-info {
            flex: 1 1 340px; 
            min-width: 0; 
            position: relative;
          }
          .about-circle-1 {
            position: absolute; 
            width: 260px; 
            height: 260px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.16); 
            right: -60px; 
            top: -50px;
          }
          .about-info-content {
            position: relative; 
            background: #F6F0E4; 
            border-radius: 28px; 
            padding: 40px 40px 36px;
          }
          .about-info-content h3 {
            margin: 0 0 18px;
          }
          .about-info-content .content {
            display: flex; 
            gap: 22px;
          }
          .about-info-content .content span {
            flex: none; 
            width: 5px; 
            border-radius: 3px; 
            background: #E84B2C;
          }
          .about-info-content .content ul {
            margin: 0; 
            padding: 0; 
            list-style: none; 
            display: flex; 
            flex-direction: column; 
            gap: 6px; 
            color: #315C45; 
            font-size: 20px; 
            font-weight: 700;
          }
          .about-info-content .content p {
            margin: 26px 0 0; 
            padding-top: 22px; 
            border-top: 1px solid #E2D8C4; 
            font-size: 16px; 
            line-height: 1.55;
          }
          .about-info-content .content p strong {
            color: #315C45;
          }
          #offer {
            position: relative; 
            overflow: hidden; 
            background: #F6F0E4; 
            padding: 100px 32px;
          }
          .offer-circle-1 {
            position: absolute; 
            width: 520px; 
            height: 520px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.12); 
            left: -280px; 
            bottom: -260px;
          }
          .offer-circle-2 {
            position: absolute; 
            width: 300px; 
            height: 300px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.16); 
            left: -120px; 
            bottom: -200px;
          }
          .offer-wrapper {
            position: relative; 
            margin: 0 auto; 
            display: flex; 
            flex-direction: column; 
            gap: 48px;
          }
          .offer-intro {
            display: flex; 
            flex-direction: column; 
            gap: 14px; 
            max-width: 60%;
          }
          .offer-grid {
            display: flex; 
            flex-wrap: wrap; 
            gap: 24px;
          }
          .offer-grid .grid-col {
            flex: 1 1 340px; 
            background: #FFFFFF; 
            border-radius: 24px; 
            padding: 32px; 
            display: flex; 
            flex-direction: column; 
            gap: 14px;
          }
          .offer-grid .grid-col.v-2 {
            background: #315C45; 
            color: #FFFFFF; 
            position: relative; 
            overflow: hidden;
          }
          .offer-grid .grid-col.v-2 .v-2-circle-1 {
            position: absolute; 
            width: 180px; 
            height: 180px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.35); 
            right: -50px; 
            bottom: -70px;
          }
          .offer-grid .grid-col.v-2 h3 {
            position: relative; 
            margin: 0;
            font-style: italic;
            color:#ffffff;
          }
          .offer-grid .grid-col.v-2 p {
            position: relative;
            color:#ffffff;
          }
          .offer-grid .grid-col .icon {
            display: flex; 
            align-items: center; 
            justify-content: center; 
            width: 64px; 
            height: 64px; 
            border-radius: 50%; 
            background: #E3EED7; 
            color: #315C45;
          }
          .offer-grid .grid-col h3 {
            font-size: 22px;
            margin-bottom: 5px;
          }
          .offer-grid .grid-col p {
            font-size: 17px;
            margin-top: 0;
          }
          #involved {
            position: relative; 
            overflow: hidden; 
            padding: 100px 32px;
          }
          .involved-circle-1 {
            position: absolute; 
            width: 520px; 
            height: 520px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.12); 
            right: -240px; 
            top: -220px;
          }
          .involved-wrapper {
            position: relative; 
            margin: 0 auto; 
            display: flex; 
            flex-direction: column; 
            gap: 48px;
          }
          .involved-container {
            display: flex; 
            flex-direction: column; 
            gap: 14px; 
            max-width: 720px;
          }
          .involved-grid {
            display: flex; 
            flex-wrap: wrap; 
            gap: 24px;
          }
          .involved-grid .grid-col {
            flex: 1 1 340px; 
            border: 2px solid #E6DECB; 
            border-radius: 28px; 
            padding: 36px; 
            display: flex; 
            flex-direction: column; 
            gap: 16px;
          }
          .involved-grid .grid-col .icon {
            display: flex; 
            align-items: center; 
            justify-content: center; 
            width: 64px; 
            height: 64px; 
            border-radius: 50%; 
            color: #FFFFFF;
          }
          .involved-grid .grid-col .icon.light-green {
            background: #70A942; 
          }
          .involved-grid .grid-col .icon.orange {
            background:#E84B2C;
          }
          .involved-grid .grid-col .icon.dark-green {
            background:#315C45;
          }
          .involved-grid .grid-col h3 {
            margin:0;
          }
          .involved-grid .grid-col p {
            margin: 0;
          }
          .involved-grid .grid-col a.text-link {
            display: inline-flex; 
            align-items: center; 
            gap: 10px; 
            font-size: 18px; 
            font-weight: 700; 
            color: #315C45; 
            min-height: 44px;
          }
          .involved-grid .grid-col a.text-link:hover,
          #partners a.text-link:hover {
            color: #E84B2C;
          }
          .involved-grid .grid-col p.smaller {
            margin: 0;
            font-size: 15px;
          }
          #partners {
            position: relative;
            padding: 0 32px 100px;
          }
          .partners-wrapper {
            margin: 0 auto;
            display: flex;
            flex-direction: column;
            gap: 36px;
          }
          .partners-container {
            display: flex;
            flex-direction: column;
            gap: 14px;
            max-width: 720px;
          }
          .partners-container h2,
          .partners-container p {
            margin: 0;
          }
          .partners-logos {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 24px;
          }
          .partner-logo {
            display: flex;
            align-items: center;
            justify-content: center;
            min-height: 180px;
            padding: 28px;
            background: #FFFFFF;
            border: 2px solid #E6DECB;
            border-radius: 28px;
          }
          .partner-logo img {
            display: block;
            max-width: 100%;
            max-height: 120px;
            width: auto;
            height: auto;
          }
          #partners a.text-link {
            display: inline-flex;
            align-items: center;
            align-self: flex-start;
            gap: 10px;
            font-size: 18px;
            font-weight: 700;
            color: #315C45;
            min-height: 44px;
          }
          @media screen and (max-width: 760px) {
            .partners-logos {
              grid-template-columns: 1fr;
            }
          }
          #news {
            position: relative; 
            overflow: hidden; 
            padding: 0 32px 100px;
          }
          .news-wrapper {
            position: relative; 
            margin: 0 auto; 
            display: flex; 
            flex-direction: column; 
            gap: 36px;
          }
          .news-container {
            display: flex; 
            flex-wrap: wrap; 
            gap: 20px 40px; 
            align-items: flex-end; 
            justify-content: space-between;
          }
          .news-intro {
            display: flex; 
            flex-direction: column; 
            gap: 14px; 
            max-width: 680px;
          }
          .news-container .news-buttons {
            display: flex; 
            flex-wrap: wrap; 
            gap: 12px;
          }
          .facebook-button {
            display: inline-flex; 
            align-items: center; 
            gap: 10px; 
            min-height: 52px; 
            padding: 0 24px; 
            border-radius: 999px; 
            background: #315C45; 
            color: #FFFFFF; 
            text-decoration: none; 
            font-size: 18px; 
            font-weight: 700;
            outline: 3px solid transparent;
            outline-offset: 3px;
            transition: outline-color 0.3s ease;
          }
          .facebook-button:hover,
          .facebook-button:focus-visible {
            color: #FFFFFF;
            outline-color: #92A99C;
          }
          .facebook-button .icon {
            display: flex; 
            align-items: center; 
            justify-content: center; 
            width: 26px; 
            height: 26px; 
            border-radius: 50%; 
            background: #FFFFFF; 
            color: #315C45; 
            font-size: 17px; 
            font-weight: 800; 
            line-height: 1;
          }
          .feed-container {
            background: #F6F0E4; 
            border-radius: 28px; 
            padding: 28px; 
            display: flex; 
            flex-direction: column; 
            gap: 24px;
          }
          /* Anglican Diocese badge, pinned to the bottom of the screen (same as theopc.ca). */
          #floaty {
            position: fixed;
            bottom: 0;
            z-index: 80000;
            display: flex;
            align-items: center;
            padding: 0.7rem 1rem 0.7rem 0.5rem;
            background-color: #b10087;
            color: #fff;
            font-family: 'Merriweather Sans', 'Trebuchet MS', 'Segoe UI', sans-serif;
            font-size: 0.9rem;
            line-height: 1rem;
            text-decoration: none;
          }
          #floaty img {
            width: 36px;
          }
          #visit {
            position: relative; 
            overflow: hidden; 
            background: #F6F0E4; 
            padding: 100px 32px; 
            z-index: 1;
          }
          .visit-wrapper {
            position: relative; 
            margin: 0 auto; 
            display: flex; 
            flex-wrap: wrap; 
            gap: 56px 80px; 
            align-items: center;
          }
          .visit-container {
            flex: 1 1 520px; 
            min-width: 0; 
            display: flex; 
            flex-direction: column; 
            gap: 22px;
          }
          .visit-container h2 {
            margin: 0; 
            color: #315C45;
          }
          .visit-container p {
             margin: 0;
          }
          .visit-container dl {
            margin: 4px 0 0; 
            display: flex; 
            flex-direction: column; 
            gap: 14px; 
            font-size: 17px;
          }
          .visit-container .dt-container {
            display: flex; 
            flex-wrap: wrap; 
            gap: 2px 18px;
          }
          .visit-container .dt-container dt {
            flex: 0 0 170px; 
            font-weight: 700; 
            color: #315C45;
          }
          .visit-container .dt-container dd {
            margin: 0; 
            flex: 1 1 240px;
          }
          .visit-container .buttons {
            display: flex; 
            flex-wrap: wrap; 
            gap: 12px; 
            margin-top: 6px;
          }
          .visit-image-container {
            flex: 1 1 420px; 
            min-width: 0; 
            position: relative; 
            height: 500px; 
            max-width: 520px; 
            margin: 0 auto;
          }
          .visit-circle-1 {
            position: absolute; 
            width: 240px; 
            height: 240px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.30); 
            right: 0; 
            top: 0;
            aspect-ratio:1/1;
          }
          @media screen and (max-width:500px) {
            .visit-circle-1 {
              display: none;
            }
          }
          .visit-image {
            position: absolute; 
            aspect-ratio: 1 / 1; 
            border-radius: 50%; 
            display: flex; 
            flex-direction: column; 
            align-items: center; 
            justify-content: center; 
            text-align: center; 
            box-sizing: border-box; 
            color: #315C45;
            border: 10px solid #F6F0E4; 
            aspect-ratio:1/1;
            overflow: hidden;
          }
          @media screen and (max-width:500px) {
            .visit-image {
              position: relative;
              margin:auto;
            }
          }
          .visit-image img {
            width:100%;
            height:100%;
            object-fit: cover;
          }
          .visit-image.img-1 {
            width: 360px; 
            min-width:260px;
            max-width: 80%; 
            background: #DDE9D0; 
            left: 0; 
            top: 30px; 
            gap: 10px; 
          }
          @media screen and (max-width:350px) {
            .visit-image.img-1 {
              margin-left:-10px;
            }
          }
          .visit-image.img-2 {
            width: 230px; 
            height: 230px; 
            background: #CFE2BE; 
            right: 10px; 
            bottom: 0; 
            gap: 8px; 
          }
          #donate {
            padding-bottom:30px; 
            position:relative;
            overflow: hidden;
          }
          .donate-circle-1 {
            position:absolute; 
            width:450px; 
            aspect-ratio:1/1; 
            background-color:rgb(221, 233, 208);
            border-radius:50%; 
            bottom:-200px; 
            left:-140px; 
            z-index: 0;
            border:solid 10px #FFFCF7;
          }
          .donate-circle-2 {
            position:absolute; 
            width:300px; 
            aspect-ratio:1/1; 
            background-color:rgba(112, 169, 66, 0.38);
            border-radius:50%; 
            bottom:-150px; 
            left:-90px; 
            z-index: 1; 
          }
          .donate-circle-3 {
            position: absolute; 
            width: 520px; 
            height: 520px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.12); 
            right: -240px; 
            top: -220px;
          }
          .donate-wrapper {
            position: relative; 
            z-index:2; 
            margin:auto; 
            padding-top:50px;
            
          }
          .donate-wrapper .eyebrow,
          .donate-wrapper h2 {
            text-align: center;
          }
          .donate-wrapper .iframe-wrapper {
            position:relative; 
            width:100%;
            overflow:hidden;
            /*border: 2px solid rgb(230, 222, 203); */
            border-radius: 28px;
            margin-top:40px;
            height:820px;
          }
          @media screen and (max-width:768px) {
            .donate-wrapper .iframe-wrapper {
              height:1200px;
            }
          }
          @media screen and (max-width:525px) {
            .donate-wrapper .iframe-wrapper {
              height:1350px;
            }
          }
          @media screen and (max-width:390px) {
            .donate-wrapper .iframe-wrapper {
              height:1450px;
            }
          }
          
          @media screen and (max-width:360px) {
            .donate-wrapper .iframe-wrapper {
              height:1720px;
            }
          }
          .donate-wrapper .iframe-wrapper iframe {
            width:100%; 
            height:100%; 
            position: absolute;
            margin-left:-10px;
            border:none;
          }
          .footer {
            position: relative; 
            overflow: hidden; 
            padding: 72px 32px 40px; 
            background: #315C45; 
            color: #FFFFFF; 
          }
          .footer-circle-1 {
            position: absolute; 
            width: 520px; 
            height: 520px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.20); 
            right: -180px; 
            bottom: -300px;
          }
          .footer-circle-2 {
            position: absolute; 
            width: 320px; 
            height: 320px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.30); 
            right: -150px; 
            bottom: -210px;
          }
          .footer-circle-3 {
            position: absolute; 
            width: 360px; 
            height: 360px; 
            border-radius: 50%; 
            background: rgba(112,169,66,0.14); 
            left: -200px; 
            top: -220px;
          }
          .footer-wrapper {
            position: relative; 
            margin: 0 auto; 
            display: flex; 
            flex-direction: column; 
            gap: 40px;
          }
          .footer-container {
            display: flex; 
            flex-wrap: wrap; 
            gap: 40px 64px; 
            justify-content: space-between; 
            align-items: flex-start;
          }
          .footer-logo-container {
            flex: 1 1 320px; 
            display: flex; 
            flex-direction: column; 
            gap: 18px;
          }
          .footer-logo {
            display: flex;
            align-items: center;
            align-self: flex-start;
          }
          .footer-logo img {
            height: 80px;
            width: auto;
          }
          .footer-logo-container p {
            margin: 0; 
            color: #FFFFFF; 
            font-style: italic; 
            font-weight: 600; 
            font-size: 20px;
          }
          .footer-message-container {
            flex: 1 1 300px; 
            display: flex; 
            flex-direction: column; 
            gap: 14px; 
            font-size: 16px; 
            line-height: 1.55;
          }
          .footer-message-container a {
            display: block; 
            line-height: 0; 
            align-self: flex-start;
          }
          .footer-message-container a img {
            height: 48px; 
            width: auto;
          }
          .footer-message-container p {
            margin: 0;
          }
          .footer-nav-container {
            flex: 0 1 220px; 
            display: flex; 
            flex-direction: column; 
            gap: 10px; 
            font-size: 16px;
          }
          .footer-nav-container strong {
            color: #FFFFFF;
          }
          .footer-nav-container a {
            min-height: 32px; 
            color: #D7EBC4;
            transition: color 0.3s ease;
          }
          .footer-nav-container a:hover,
          .footer-nav-container a:focus-visible {
            color: #FFFFFF;
          }
          .footer .copy {
            padding-top: 22px; 
            border-top: 1px solid rgba(255,255,255,0.22); 
            display: flex; 
            flex-wrap: wrap; 
            gap: 8px 24px; 
            justify-content: space-between; 
            font-size: 14px; 
            color: #E4EFDA;
          }