@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;600;700&display=swap');:root{--purple:#270d40;--plum:#481a5e;--gold:#e9b34d;--cream:#fbf7f0;--ink:#23172b;--muted:#62576b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button{cursor:pointer}.top{background:var(--purple);color:#fff;font-size:.82rem;padding:8px 5%}.top-inner{max-width:1220px;margin:auto;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.header{background:white;position:sticky;top:0;z-index:20;box-shadow:0 3px 16px #270d4015}.head-inner{max-width:1240px;margin:auto;padding:15px 4%;display:flex;align-items:center;justify-content:space-between;gap:18px}.brand{display:flex;align-items:center;gap:12px;max-width:420px}.mark{font-size:2.8rem;color:var(--gold);line-height:1}.brand-name{font:700 clamp(1.1rem,2vw,1.6rem)/1.05 'Playfair Display',Georgia,serif;color:var(--purple);letter-spacing:.045em}.brand-small{font-size:.62rem;letter-spacing:.25em;color:#7b5c78;font-weight:700}.nav{display:flex;align-items:center;gap:18px;flex-wrap:wrap;font-size:.86rem;font-weight:700}.nav a[aria-current=page]{color:#a36b12}.nav .donate-link{background:var(--gold);padding:9px 19px;border-radius:50px;color:var(--purple)}.menu-button{display:none;background:var(--purple);color:#fff;border:0;border-radius:8px;padding:9px 13px}.hero{background:radial-gradient(circle at 80% 28%,#f8bf69 0%,#bc7b61 17%,transparent 43%),linear-gradient(115deg,#170826 6%,#37124b 55%,#8c5876);color:white;min-height:550px;position:relative;overflow:hidden}.hero:after{content:'✝';position:absolute;right:10%;top:5%;font:420px/1 Georgia,serif;color:#180e1b9c;text-shadow:10px 10px 25px #0005;transform:rotate(-3deg);pointer-events:none}.hero-inner{position:relative;z-index:1;max-width:1220px;margin:auto;padding:105px 5% 95px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.79rem;font-weight:700}.hero h1{font:700 clamp(2.6rem,5.8vw,5.2rem)/1.13 'Playfair Display',Georgia,serif;max-width:830px;margin:20px 0}.gold-script{color:var(--gold);font-style:italic}.hero p{max-width:660px;font-size:1.12rem}.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-block;border:2px solid var(--gold);border-radius:60px;background:var(--gold);color:#260d40;padding:11px 24px;font-size:.86rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.btn.outline{background:transparent;color:white}.btn.dark{background:var(--purple);border-color:var(--purple);color:white}.btn:hover{filter:brightness(1.06);text-decoration:none}.container{max-width:1200px;margin:auto;padding:76px 5%}.section-heading{text-align:center;max-width:750px;margin:0 auto 35px}.section-heading h2,.split h2,.page-title h1{font:700 clamp(2rem,3.5vw,3.4rem)/1.2 'Playfair Display',Georgia,serif;color:var(--purple);margin:10px 0 15px}.kicker{font-size:.77rem;letter-spacing:.23em;color:#95601e;font-weight:700;text-transform:uppercase}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 30px #270d4010;border:1px solid #efe7ee}.card-art{height:150px;background:linear-gradient(120deg,#2c1045,#6e397a 55%,#e2ac65);display:flex;align-items:center;justify-content:center;color:white;font-size:4rem}.card-body{padding:23px}.card h3{font:700 1.45rem 'Playfair Display',Georgia,serif;color:var(--purple);margin:0 0 9px}.card p{color:var(--muted);margin:0 0 17px}.text-link{color:#805117;font-weight:700}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.quote-panel{background:linear-gradient(140deg,#341147,#642a73);color:#fff;padding:55px;border-radius:20px}.quote-panel h2{color:#fff}.quote-panel blockquote{font:italic 1.45rem/1.5 Georgia,serif;margin:10px 0}.band{background:var(--purple);color:#fff}.band h2{color:white}.band .container{padding-top:65px;padding-bottom:65px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.cta-card{background:#ffffff14;padding:30px;border:1px solid #ffffff40;border-radius:16px}.cta-card h3{font:700 1.5rem 'Playfair Display',Georgia,serif}.page-title{background:linear-gradient(110deg,#210b35,#522065);color:white;padding:65px 5%;text-align:center}.page-title h1{color:white}.page-title p{max-width:760px;margin:auto}.prose{max-width:840px;margin:auto}.prose h2{font:700 1.8rem 'Playfair Display',Georgia,serif;color:var(--purple)}.form{max-width:700px;background:white;border:1px solid #eee3ef;border-radius:16px;padding:30px;box-shadow:0 8px 25px #270d400c}.form label{display:block;font-weight:700;margin:16px 0 5px}.form input,.form textarea,.form select{display:block;width:100%;padding:12px;border:1px solid #d7c9db;border-radius:8px;background:#fff}.form textarea{min-height:130px}.note{background:#fff5df;border-left:4px solid var(--gold);padding:15px 18px;border-radius:4px;color:#5d451e}.footer{background:#1d0b2d;color:white;padding:50px 5% 25px}.footer-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer a{display:block;margin:4px 0}.footer small{color:#d4c3d8}.bottom{max-width:1200px;margin:30px auto 0;border-top:1px solid #ffffff30;padding-top:20px;color:#cdbbd5;font-size:.8rem}@media(max-width:1000px){.menu-button{display:block}.nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:20px 5%;box-shadow:0 10px 20px #0002}.nav.open{display:flex;flex-direction:column;align-items:flex-start}.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.grid,.split,.three,.footer-inner{grid-template-columns:1fr}.hero{min-height:480px}.hero:after{font-size:300px;right:-8%;top:22%}.hero-inner{padding:75px 6%}.container{padding:55px 6%}.brand-name{font-size:1.05rem}.brand-small{font-size:.5rem}.mark{font-size:2rem}.quote-panel{padding:30px}.top-inner{justify-content:center}.head-inner{padding:13px 4%}}

/* Official TVOM globe identity: royal blue, deep navy, charcoal, silver and subtle gold */
:root{--purple:#092a60;--plum:#075eaa;--gold:#d8a347;--cream:#f5f8fc;--ink:#172b44;--muted:#536579}
.top{background:#061936}
.header{background:#fff;border-bottom:3px solid #c8d6e6;box-shadow:0 5px 20px #092a6018}
.brand{max-width:440px;gap:14px;min-width:0}
.official-logo{width:74px;height:74px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 2px #0b23401c)}
.brand-name{color:#092a60;font-weight:700;letter-spacing:.025em}
.brand-small{color:#536579;letter-spacing:.16em}
.nav a[aria-current=page]{color:#0074b9}
.nav .donate-link{background:#d8a347;color:#061936}
.hero{background:radial-gradient(circle at 77% 34%,#1b9bcd75,transparent 36%),linear-gradient(112deg,#06152e 3%,#0b376d 58%,#087cb4);min-height:540px}
.hero:after{content:'';width:420px;height:420px;top:7%;right:3%;background:url('tvom-official-logo.png') center/contain no-repeat;opacity:.19;transform:none;filter:grayscale(.15)}
.hero-inner{padding-top:100px;padding-bottom:105px}
.gold-script{color:#f3c56d}
.btn{background:#d8a347;border-color:#d8a347;color:#061936}
.btn.dark{background:#092a60;border-color:#092a60}
.section-heading h2,.split h2,.page-title h1,.card h3,.prose h2{color:#092a60}
.kicker,.text-link{color:#006ca7}
.card{border-color:#dfe8f3;box-shadow:0 10px 28px #0a2c5a12}
.card-art{background:linear-gradient(130deg,#061936,#0b4f8e 60%,#18a3cb);border-bottom:4px solid #d8a347}
.quote-panel{background:linear-gradient(140deg,#061936,#0a5690)}
.band,.page-title{background:linear-gradient(110deg,#061936,#0a477f)}
.band h2,.page-title h1,.quote-panel h2{color:white}
.footer{background:#061936}
.note{background:#fff7e8}
@media(max-width:680px){.official-logo{width:54px;height:54px}.brand{gap:8px}.brand-name{font-size:1rem}.brand-small{font-size:.47rem;letter-spacing:.08em}.hero:after{width:280px;height:280px;top:24%;right:-12%;opacity:.13}}

/* Visual refresh: full-width illustrated ministry cards and individual banners */
.hero-enhanced{background:linear-gradient(90deg,#04132c 0%,#072a55ed 48%,#095e92bd 100%),radial-gradient(circle at 80% 45%,#27b1d5,transparent 45%);isolation:isolate}
.hero-enhanced:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 87% 48%,transparent 0 40px,#ffffff0b 42px 44px);pointer-events:none}
.hero-enhanced:after{width:min(41vw,460px);height:min(41vw,460px);top:7%;right:5%;opacity:.34;filter:drop-shadow(0 0 25px #79caff55)}
.hero-enhanced .hero-inner{padding-top:110px;padding-bottom:110px}
.ministry-grid{gap:25px}
.ministry-grid .card{transition:transform .25s ease,box-shadow .25s ease}
.ministry-grid .card:hover{transform:translateY(-6px);box-shadow:0 20px 44px #082f5d2b}
.card-art{height:190px;background:#07396a;overflow:hidden;display:block;border-bottom:4px solid #d8a347}
.card-art img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.card:hover .card-art img{transform:scale(1.06)}
.ministry-banner{position:relative;overflow:hidden;isolation:isolate;text-shadow:0 2px 12px #00142caa;background:linear-gradient(90deg,#061936f5,#0a3d72cf),var(--ministry-art) center/cover no-repeat}
.ministry-banner:after{content:"";position:absolute;inset:0;z-index:-1;background:var(--ministry-art) 90% center/auto 115% no-repeat;opacity:.36}
.ministry-detail{padding:18px 18px 30px}
.detail-art{width:100%;height:235px;object-fit:cover;border-radius:12px;margin-bottom:15px}
.ministry-detail h2,.ministry-detail p{margin-left:16px;margin-right:16px}
.card-body{padding:25px}.card h3{font-size:1.48rem}
@media(max-width:680px){.card-art{height:205px}.hero-enhanced:after{width:230px;height:230px;right:-9%;top:30%;opacity:.18}.ministry-banner:after{opacity:.18}.detail-art{height:190px}}

/* Editorial photography layout inspired by supplied mockup, aligned to TVOM official blue globe identity. */
:root{--purple:#081b3e;--gold:#e7b34e;--cream:#fffdf9}
body{background:#fffdf9}
.top{background:#071329;color:#f4e7c9}
.header{background:#fffdf9}
.head-inner{max-width:1440px}
.nav{gap:13px}
.nav-dropdown{position:relative}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:235px;background:#fff;padding:10px;box-shadow:0 15px 35px #071c3a30;border-top:3px solid var(--gold);z-index:25}
.dropdown-menu a{display:block;padding:8px 12px}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}
.hero-photo{min-height:640px;background:linear-gradient(90deg,#03112af2 0%,#052450d8 43%,#05224c25 100%),var(--photo) center/cover no-repeat,#092a60}
.hero-photo:after{content:'✝';background:none;opacity:.6;color:#f2c06c;font:380px/1 Georgia,serif;right:7%;top:14%;width:auto;height:auto;text-shadow:0 15px 24px #00162d}
.hero-photo .hero-inner{max-width:1420px;padding-top:110px;padding-bottom:120px}
.hero-photo h1{font-size:clamp(2.7rem,5.8vw,5.9rem);letter-spacing:.01em;max-width:850px}
.hero-photo h1 small{display:block;font-size:.58em;margin-top:15px}
.hero-photo h1 em{font-weight:400;color:#f4bf57}
.hero-photo p{max-width:680px}
.ministry-heading-accent{text-align:center;letter-spacing:.24em;font-weight:800;color:#b68023;margin:0 0 22px}
.ministry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.ministry-grid .card{border-radius:6px;position:relative;background:#061a3b;color:white;min-height:360px;display:flex;flex-direction:column;justify-content:flex-end}
.ministry-grid .card-art{position:absolute;inset:0;height:100%;background:linear-gradient(0deg,#06132af5,#06132a15 72%),var(--photo) center/cover no-repeat,#0a467d;border:0}
.ministry-grid .card-art img{display:none}
.ministry-grid .card-body{position:relative;z-index:1;padding:28px}
.ministry-grid .card h3{color:white;font-size:1.6rem}
.ministry-grid .card p{color:#f4f6fa}
.ministry-grid .text-link{display:inline-block;background:#edba58;color:#061936;border-radius:40px;padding:8px 16px;font-size:.83rem}
.page-title.ministry-banner{background:linear-gradient(90deg,#06142bef,#0b285d91 62%,#091b3a25),var(--photo) center/cover no-repeat,#0b315e;min-height:365px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.page-title.ministry-banner:after{display:none}
.ministry-banner h1{font-size:clamp(2.8rem,5vw,5rem)}
.detail-art{height:340px;object-fit:cover}
.quote-panel{background:linear-gradient(130deg,#071a3b,#105a9a)}
.photo-cta{min-height:260px;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end}
.photo-cta-1{background-image:linear-gradient(0deg,#06142bef,#06142b55),url('https://images.unsplash.com/photo-1506126613408-eca07ce68773?auto=format&fit=crop&w=800&q=80')}
.photo-cta-2{background-image:linear-gradient(0deg,#06142bef,#06142b55),url('https://images.unsplash.com/photo-1559027615-cd4628902d4a?auto=format&fit=crop&w=800&q=80')}
.photo-cta-3{background-image:linear-gradient(0deg,#06142bef,#06142b55),url('https://images.unsplash.com/photo-1531206715517-5c0ba140b2b8?auto=format&fit=crop&w=800&q=80')}
.editor-bar{position:fixed;bottom:12px;right:12px;z-index:100;background:#fff;color:#0b2748;padding:9px;border:1px solid #d5e2ed;border-radius:12px;box-shadow:0 5px 30px #06193650;display:flex;align-items:center;gap:9px;max-width:min(92vw,630px)}
.editor-bar button{border:0;background:#0b376d;color:#fff;border-radius:8px;padding:9px 13px;font-weight:700;font-size:13px}
#edit-save{background:#c28b2c;color:#071936}
#edit-help{font-size:12px;max-width:230px;line-height:1.3}
body.edit-mode [data-editable]{outline:2px dashed #e6ac40;outline-offset:3px;cursor:text}
body.edit-mode [data-editable]:focus{outline:3px solid #0a9be2;background:#fff9e6;color:#102844}
@media(max-width:1000px){.nav-dropdown{width:100%}.dropdown-menu{display:block;position:static;box-shadow:none;border:0;padding-left:12px}.ministry-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.ministry-grid{grid-template-columns:1fr}.hero-photo{min-height:570px}.hero-photo:after{font-size:240px;right:-3%;top:26%}.ministry-grid .card{min-height:320px}.editor-bar{left:10px;right:10px;flex-wrap:wrap}.editor-bar button{font-size:12px}}

/* Events and gallery additions */
.event-heading{text-align:center;margin:0 auto 2rem;max-width:760px}.event-heading h2{font-size:clamp(2rem,4vw,3.3rem);margin:.4rem 0}.event-feature{display:grid;grid-template-columns:minmax(0, .85fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start;margin:1.5rem 0 3rem}.event-flyer{width:100%;height:auto;display:block;border-radius:16px;box-shadow:0 16px 45px #051b3c2a}.event-info{background:#f5f8fd;border:1px solid #dbe6f4;border-radius:18px;padding:clamp(1.2rem,3vw,2.5rem)}.event-info h3{font-size:2rem;margin:.7rem 0 1.2rem}.event-info h4{margin:1.5rem 0 .5rem}.event-info p{margin:.7rem 0}.event-pill{display:inline-block;background:#e6f0ff;color:#123c75;border-radius:99px;padding:.4rem .8rem;font-weight:700}.event-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.5rem}.upcoming-note,.gallery-note{text-align:center;padding:2rem;background:#f5f8fd;border-radius:18px;margin:2rem 0}.gallery-section{padding-top:3rem;padding-bottom:3rem}.gallery-intro{text-align:center;max-width:750px;margin:0 auto 2rem}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.gallery-item{display:block;max-width:560px;text-decoration:none;background:#f4f7fc;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px #08224d1c}.gallery-item img{display:block;width:100%;height:420px;object-fit:contain;background:#e8eef6}.gallery-caption{display:flex;flex-direction:column;gap:.25rem;padding:1.1rem;color:#102b55}.gallery-placeholder{border:2px dashed #b5cbe6;background:#f5f8fd;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem}.gallery-placeholder-icon{font-size:3rem;color:#c69a41}@media(max-width:750px){.event-feature,.gallery-grid{grid-template-columns:1fr}.gallery-item img{height:auto;max-height:550px}.event-info h3{font-size:1.65rem}}

/* Homepage hero: replace decorative cross with the official TVOM globe image. */
.hero-photo:after {
  content: '';
  position: absolute;
  width: min(39vw, 480px);
  height: min(39vw, 480px);
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
  background: url('tvom-official-logo.png') center / contain no-repeat;
  opacity: .93;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, .38));
  pointer-events: none;
  text-shadow: none;
  font-size: 0;
}
.hero-photo .hero-inner { position: relative; z-index: 1; }
@media (max-width: 800px) {
  .hero-photo:after {
    width: min(60vw, 300px);
    height: min(60vw, 300px);
    right: -7%;
    top: 53%;
    opacity: .19;
  }
}
