*{box-sizing:border-box} :root{--red:#760b19;--red2:#9d1d2b;--gold:#c69a3a;--goldlight:#f4d28b;--cream:#fff7e9;--paper:#fffdf9;--ink:#35262a;--muted:#78696d;--line:#eaded8}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif}.container{width:min(1100px,calc(100% - 36px));margin:auto}.center{text-align:center}.narrow{max-width:800px}.site-header{position:sticky;top:0;z-index:5;background:#fffdf9f5;border-bottom:1px solid #760b1914;backdrop-filter:blur(10px)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--red)}.mark{width:44px;height:44px;border:2px solid var(--gold);border-radius:50%;display:grid;place-items:center;background:var(--red);color:var(--goldlight);font-weight:900;font-size:21px}.brand b,.brand small{display:block;line-height:1.3}.brand b{font-size:13px}.brand small{font-size:10px;color:var(--muted);margin-top:4px}.nav nav{display:flex;gap:20px}.nav nav a{font-size:12px;font-weight:700;text-decoration:none;color:#674c51}.nav nav a:hover{color:var(--red)}.hero{position:relative;overflow:hidden;color:white;text-align:center;background:radial-gradient(circle at 50% 20%,#a72736,var(--red) 54%,#49060e);padding:70px 0 80px}.hero:before,.hero:after{content:"";position:absolute;width:400px;height:400px;border:1px solid #f4d28b35;border-radius:50%;pointer-events:none}.hero:before{top:-220px;left:-210px;box-shadow:0 0 0 28px #f4d28b08,0 0 0 58px #f4d28b08}.hero:after{bottom:-260px;right:-220px;box-shadow:0 0 0 28px #f4d28b08,0 0 0 58px #f4d28b08}.hero-inner{position:relative;z-index:1;max-width:800px}.eyebrow,.kicker{font-size:11px;letter-spacing:.17em;font-weight:800}.eyebrow{color:var(--goldlight)}.seal{width:88px;height:88px;margin:22px auto 8px;border:1px solid var(--goldlight);border-radius:50%;display:grid;place-items:center;color:var(--goldlight);font-size:42px;font-weight:900;position:relative}.seal span{position:absolute;right:-5px;top:0;font-size:18px;color:white}.hero h1{font-size:clamp(58px,9vw,94px);line-height:1;margin:12px 0;letter-spacing:-.06em}.hero h2{font:clamp(22px,4vw,34px)/1.3 Georgia,serif;color:var(--goldlight);margin:0 0 18px}.hero-copy{max-width:600px;margin:auto;color:#f7e8e7}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:45px;padding:11px 20px;border:1px solid transparent;border-radius:999px;text-decoration:none;font:700 13px/1.3 system-ui,sans-serif;cursor:pointer}.gold{background:var(--goldlight);color:#4c0b13}.outline{border-color:#f4d28b99;color:white;background:transparent}.light{background:#fff8ed;color:var(--red)}.primary{background:var(--red);color:white}.primary:hover{background:var(--red2)}.full{width:100%;margin-top:12px}.small{min-height:34px;padding:7px 13px;font-size:12px}.section{padding:78px 0}.kicker{color:#a17826;margin:0 0 12px}h2{font:600 clamp(30px,4.4vw,43px)/1.2 Georgia,serif;letter-spacing:-.025em;color:var(--red);margin:0 0 20px}.lead{font-size:19px;color:#594146}.cream{background:var(--cream)}.section-head{text-align:center;max-width:700px;margin:0 auto 38px}.section-head>p:last-child{color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.cards article{background:white;border:1px solid #efe2d5;border-radius:20px;padding:24px}.cards article span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#f8e9d0;color:var(--red);font-weight:900;margin-bottom:16px}.cards h3{font:22px Georgia,serif;color:var(--red);margin:0 0 8px}.cards p{font-size:14px;color:var(--muted);margin:0}.note{font-size:12px;color:#8b7b7d;text-align:center;margin-top:25px}.date{display:flex;align-items:center;gap:15px;max-width:790px;margin:28px auto 10px}.date>strong{width:60px;height:60px;display:grid;place-items:center;border-radius:15px;background:var(--red);color:var(--goldlight);font-size:29px}.date b,.date small{display:block}.date b{color:var(--red);font-size:17px}.date small{color:var(--muted);font-size:12px}.program{max-width:790px;margin:auto;border-left:2px solid #ead5b3;padding-left:22px}.program>div{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:17px 0;border-bottom:1px solid var(--line)}.program time{color:#9c7529;font-weight:850;font-size:14px}.program h3{font-size:16px;line-height:1.4;color:var(--red);margin:0 0 5px}.program p{font-size:13px;color:var(--muted);margin:0}.program .small-note{margin-top:7px;color:#8a5c22}.unity{padding:72px 0;background:linear-gradient(125deg,#650815,#941a29);color:white}.unity .kicker{color:var(--goldlight)}.unity h2{color:white}.unity p:not(.kicker){max-width:680px;margin:0 auto 25px;color:#f4e4e5}.form-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start}.form-layout ul{padding-left:20px;color:#644e52;font-size:14px}.form-layout li{margin:7px 0}.form-card{background:white;border:1px solid #eee0d8;border-radius:20px;padding:27px;box-shadow:0 15px 45px #46141c0d}.form-card form{display:flex;flex-direction:column}.form-card label:not(.consent){font-size:12px;font-weight:750;color:#563c41;margin:13px 0 6px}.form-card em{color:#b21d2c}.form-card input:not([type=checkbox]),.form-card textarea{width:100%;font:14px system-ui,sans-serif;padding:12px;border:1px solid #e1d2cc;border-radius:10px;background:#fffdfb;color:var(--ink)}.form-card input:focus,.form-card textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 3px #c69a3a24}.form-card textarea{resize:vertical;min-height:120px}.consent{display:flex;align-items:flex-start;gap:9px;margin-top:13px;font-size:12px;line-height:1.5;color:#655357}.consent input{margin-top:5px;accent-color:var(--red);flex:0 0 auto}.privacy{font-size:11px;color:#89797d;line-height:1.6}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.alert{padding:12px;border-radius:10px;font-size:13px;margin-bottom:15px}.success{background:#eaf5e9;color:#245c2b}.error{background:#fff0ed;color:#92212b}.contact{padding:45px 0;background:#f4e5d5}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}.contact h2{font-size:30px;margin-bottom:7px}.contact p:not(.kicker){margin:0;color:var(--muted)}.dark-outline{color:var(--red);border-color:var(--red)}.footer{padding:27px 0;background:#3e0810;color:#f5e6e5}.footer p{font-size:12px;color:#d9bfc1;margin:3px 0 0}.install{background:var(--cream);min-height:100vh}.install-wrap{max-width:550px;padding-top:7vh;padding-bottom:7vh}.install-wrap h1{font:34px Georgia,serif;color:var(--red)}.install-wrap form{display:flex;flex-direction:column}.install-wrap label{font-size:12px;font-weight:700;margin:12px 0 5px}.install-wrap input{padding:12px;border:1px solid var(--line);border-radius:9px}.admin-header{background:var(--red);color:white;padding:15px 0}.admin-nav{display:flex;justify-content:space-between;gap:16px;align-items:center}.admin-nav div{display:flex;gap:16px;align-items:center;font-size:12px}.admin-nav a{color:var(--goldlight)}.admin-main{padding-top:35px;padding-bottom:60px}.admin-main h1{color:var(--red);font:36px Georgia,serif}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.stats a{display:flex;flex-direction:column;gap:8px;text-decoration:none;background:white;border:1px solid var(--line);border-radius:13px;padding:17px}.stats a.active{border-color:var(--gold)}.stats span{font-size:12px;color:var(--muted)}.stats b{font-size:27px;color:var(--red)}.submissions{display:grid;gap:14px}.submission{background:white;border:1px solid var(--line);border-radius:15px;padding:19px}.sub-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--red)}.sub-head small{color:var(--muted);font-size:11px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{background:#f8eee4;border-radius:20px;padding:4px 8px;font-size:10px;color:#76515a}.message{overflow-wrap:anywhere}.status-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:13px}.status-form label{font-size:12px;font-weight:700}.status-form select{padding:8px;border:1px solid var(--line);border-radius:8px}.empty{padding:40px;text-align:center;background:white;border:1px dashed var(--line);border-radius:15px;color:var(--muted)}@media(max-width:760px){.container{width:calc(100% - 28px)}.nav{min-height:66px}.mark{width:39px;height:39px}.brand b{font-size:11px}.brand small{font-size:9px}.nav nav{gap:10px}.nav nav a{font-size:10px}.nav nav a:first-child{display:none}.hero{padding:60px 0 68px}.section{padding:60px 0}.cards,.form-layout{grid-template-columns:1fr}.cards{gap:12px}.form-layout{gap:24px}.form-card{padding:21px}.contact-inner,.admin-nav{align-items:flex-start;flex-direction:column}.stats{grid-template-columns:repeat(2,1fr)}.program{padding-left:14px}.program>div{grid-template-columns:62px 1fr;gap:8px}.program h3{font-size:14px}.actions .btn{font-size:12px;padding:11px 14px}}@media(max-width:390px){.nav nav{gap:7px}.nav nav a{font-size:9px}.actions .btn{width:100%}}


/* v0.2: logo chính thức và ưu tiên font có dấu tiếng Việt ổn định */
body{font-family:Arial,"Segoe UI",Tahoma,sans-serif}
h1,h2,h3,.cards h3,.install-wrap h1,.admin-main h1{font-family:Arial,"Segoe UI",Tahoma,sans-serif;letter-spacing:normal;font-weight:700}
.brand-logo{display:block;width:52px;height:52px;object-fit:contain;flex:0 0 auto}
.hero-logo{display:block;width:min(190px,42vw);height:auto;aspect-ratio:1;object-fit:contain;margin:20px auto 16px;border-radius:50%;background:#fff;padding:5px;box-shadow:0 8px 28px #25030b30}
.hero h1{font-size:clamp(48px,8vw,82px);letter-spacing:normal}
@media(max-width:760px){.brand-logo{width:43px;height:43px}.hero-logo{width:min(160px,46vw)}}

/* v0.3: Roboto + favicon TC */
html,body,input,textarea,button,select{font-family:'Roboto',Arial,sans-serif}
h1,h2,h3,.cards h3,.install-wrap h1,.admin-main h1{font-family:'Roboto',Arial,sans-serif;letter-spacing:normal}

/* v0.5: khung tư liệu ảnh/video và danh sách 25 khóa — placeholder để duyệt bố cục */
.media-section{background:#fffaf4}
.media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:28px}
.media-card{background:#fff;border:1px solid #ead9c9;border-radius:16px;overflow:hidden}
.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:150px;padding:18px;background:linear-gradient(135deg,#f8eee2,#fffaf4);color:#780b19;text-align:center;border-bottom:1px dashed #d8b8a0}
.media-placeholder strong{font-size:14px}
.media-placeholder small{font-size:12px;color:#765f57}
.media-card-body{padding:16px}
.media-card h3{margin:0 0 7px;color:#780b19;font-size:18px}
.media-card p{margin:0;color:#6d5a55;font-size:14px;line-height:1.65}
.video-placeholder{margin:28px auto 0;max-width:860px;aspect-ratio:16/9;border:1px dashed #c99e85;border-radius:18px;background:linear-gradient(135deg,#780b19,#4f0710);display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;padding:24px}
.video-placeholder .play{width:62px;height:62px;border-radius:50%;background:#fff;color:#780b19;display:grid;place-items:center;font-size:25px;margin:0 auto 14px}
.cohort-summary{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:22px 0 28px}
.cohort-stat{padding:14px 20px;border:1px solid #ead9c9;border-radius:14px;background:#fff;text-align:center;min-width:150px}
.cohort-stat strong{display:block;color:#780b19;font-size:25px}
.cohort-stat span{font-size:12px;color:#765f57}
.cohort-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.cohort-item{border:1px solid #ead9c9;background:#fff;border-radius:12px;padding:14px 10px;text-align:center}
.cohort-item strong{display:block;color:#780b19}
.cohort-item span{display:block;margin-top:5px;font-size:12px;color:#765f57}
.section-note{font-size:13px;color:#765f57;text-align:center;margin-top:18px}
@media(max-width:800px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cohort-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.media-grid{grid-template-columns:1fr}.media-placeholder{min-height:170px}.cohort-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.6: accordions for 25 GLV cohorts + separate clergy appreciation section */
.cohort-accordion{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px;align-items:start}
.cohort-detail{border:1px solid #ead9c9;border-radius:14px;background:#fff;overflow:hidden}
.cohort-detail summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:12px;padding:14px 16px}
.cohort-detail summary::-webkit-details-marker{display:none}
.cohort-number{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:50%;background:#f8e8cc;color:#780b19;font-weight:800}
.cohort-label{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.cohort-label strong{color:#780b19}
.cohort-label small{color:#765f57;font-size:12px}
.cohort-open{font-size:12px;color:#9a6a23;white-space:nowrap}
.cohort-detail[open] .cohort-open{font-size:0}
.cohort-detail[open] .cohort-open:after{content:'Thu gọn −';font-size:12px}
.cohort-content{padding:0 18px 18px 68px;border-top:1px solid #f1e5d8;color:#765f57;font-size:14px;line-height:1.65}
.cohort-content p{margin:12px 0 0}
.clergy-note{display:flex;gap:18px;align-items:flex-start;max-width:820px;margin:0 auto;padding:24px;border:1px solid #ead9c9;border-radius:18px;background:#fffaf4}
.clergy-symbol{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;border-radius:50%;background:#780b19;color:#f4d58b;font-size:24px}
.clergy-note strong{color:#780b19;font-size:18px}
.clergy-note p{margin:8px 0 0;color:#765f57;line-height:1.7}
@media(max-width:680px){.cohort-accordion{grid-template-columns:1fr}.cohort-detail summary{padding:12px}.cohort-open{font-size:11px}.cohort-content{padding-left:16px}.clergy-note{padding:18px}}

/* v0.7: real gallery images */
.gallery-image-link{display:block;background:#f4e9dc;overflow:hidden}
.gallery-image{display:block;width:100%;height:230px;object-fit:cover;transition:transform .25s ease}
.gallery-image-link:hover .gallery-image{transform:scale(1.025)}
.media-card-body{min-height:112px}
@media(max-width:800px){.gallery-image{height:210px}}
@media(max-width:520px){.gallery-image{height:auto;max-height:360px;object-fit:contain}}

/* v0.8 layout corrections: responsive gallery, YouTube embed, compact anniversary footer */
body{font-family:'Roboto',Arial,sans-serif}
.media-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.media-card{min-width:0}
.gallery-image-link{display:flex;width:100%;height:250px;align-items:center;justify-content:center;background:#f5eadb}
.gallery-image{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.video-section{max-width:900px;margin:36px auto 0;text-align:center}
.video-section h3{color:#780b19;font-size:clamp(22px,3vw,30px);margin:6px 0 20px}
.youtube-frame{position:relative;width:100%;aspect-ratio:16/9;background:#24070b;border-radius:16px;overflow:hidden}
.youtube-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.cohort-compact{background:#fff4e4;border-top:1px solid #eedbc6}
.cohort-compact h2{color:#780b19;margin:8px 0 12px}
.cohort-compact p:not(.kicker){max-width:760px;margin:0 auto;color:#6d5a55}
@media(max-width:800px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-image-link{height:220px}}
@media(max-width:520px){.media-grid{grid-template-columns:1fr}.gallery-image-link{height:auto;min-height:0;aspect-ratio:4/3}.gallery-image{width:100%;height:100%;object-fit:contain}.media-card-body{min-height:0}.cohort-compact{padding:42px 0}}
