/* Composed association masthead: original background, independent logo, text and CSS artwork. */
body{background:#570606 url('/assets/thai-pattern.jpg') center top/780px auto repeat;color:#332125}header{display:block;padding:0;min-height:0;background:transparent;border:0}.association-masthead{position:relative;display:flex;justify-content:center;align-items:center;min-height:240px;padding:22px 140px 25px;background:radial-gradient(ellipse at 50% 0,#ffffff18,transparent 65%),url('/assets/thai-pattern.jpg') center/1000px auto;border-bottom:1px solid #e2c16877;overflow:hidden}.association-masthead:after{content:'';position:absolute;bottom:0;left:15%;right:15%;height:1px;background:linear-gradient(90deg,transparent,#e1bb60,transparent)}header .brand{display:flex;flex-direction:column;gap:4px;text-align:center;white-space:normal;letter-spacing:0;color:#ffed95;max-width:100%;position:relative;z-index:1}header .brand img{width:104px;height:126px;object-fit:contain;filter:drop-shadow(3px 5px 3px #19000066);margin:0 0 6px}.association-name-th{font-size:clamp(26px,2.35vw,36px);font-weight:500;line-height:1.4;max-width:100%}.association-name-en{font-size:clamp(26px,2.35vw,36px);font-weight:400;line-height:1.4;max-width:100%}.header-art img{display:block;width:100%;height:100%;object-fit:contain}.header-art{position:absolute;top:50%;width:125px;height:156px;transform:translateY(-50%);pointer-events:none;color:#e6c567}.art-left{left:7%;top:40%}.art-right{right:7%;top:60%;transform:translateY(-50%)}.navigation-bar{display:flex;align-items:center;justify-content:center;padding:12px 3%;gap:23px;background:linear-gradient(110deg,#680c22b8,#38050cad);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:3px solid #d3ac4d;border-bottom:1px solid #d4af3788;min-height:80px}.navigation-bar nav{display:flex;justify-content:center;gap:6px;flex-direction:row;padding:0;margin:0;font-size:17px}.navigation-bar nav a{display:flex;align-items:center;justify-content:center;min-height:48px;padding:10px 17px;color:#ffedc8;font-weight:600;border-radius:8px;border:1px solid transparent;transition:background .15s}.navigation-bar nav a:hover{background:#ffffff12;border-color:#c8a85666}.navigation-bar nav a[aria-current=page]{color:#4c130e;background:linear-gradient(120deg,#f7df8e,#e2ba53);border-color:#f5d47a;box-shadow:0 3px 14px #0003}.navigation-bar nav a[aria-current=page]:after{display:none}.navigation-bar .header-tools{gap:14px;margin-left:7px;padding-left:20px;border-left:1px solid #d4af3744}.navigation-bar .language,.navigation-bar .account-link{color:#ffeabd;font-size:13px;min-height:44px;display:flex;align-items:center}.menu-control{display:none;border:1px solid #e5c979;background:#f1d47d;color:#4b140e;border-radius:8px;padding:9px 16px;min-height:46px;font-weight:700}.menu-control span{font-size:16px;margin-left:8px}.association-hero{background:linear-gradient(100deg,#450707a3,#660a0a44),url('/assets/thai-pattern.jpg') center/900px auto;min-height:550px;padding-top:60px;padding-bottom:65px}.association-hero:before,.association-hero:after{display:none}.hero-photo img{height:370px}.hero .eyebrow{color:#fce5a1}.hero h1 em{color:#ffe592}.hero p{color:#f8e3d1}.ribbon{background:#fff8e9ef;border-color:#d4b98b}.section{width:calc(100% - 100px);max-width:1380px;margin:30px auto;padding:55px 5%;background:#fffaf2f5;border:1px solid #d8b57599;border-radius:20px}.page-head{background:#fff8ebf7;padding:45px 7%;border-bottom:1px solid #c9a35e}.calendar-home{background:#f3e9d8f5}.section.auth-section{max-width:680px}.section.prose{max-width:950px}.section .section{width:100%;border:0;padding:0}.festival-strip{background:#f2e5cc;border-color:#cfb88b}.card{background:#fffdf9}.section-heading{margin-bottom:30px}footer{background:linear-gradient(#320405e6,#260103f2),url('/assets/thai-pattern.jpg') center/700px auto;border-top:1px solid #b18c46;color:#f4e6d2}.footer-top strong{font-weight:500}.footer-top a{color:#f1d997}.footer-bottom{border-color:#d4af3733}.footer-bottom .language{color:#ffe7a1;font-size:14px;padding:8px 12px;border:1px solid #d4af3755;border-radius:8px}.join-banner{background:linear-gradient(100deg,#720e0ede,#510808e8),url('/assets/thai-pattern.jpg') center/cover}.photo-caption{background:#fff3d9}.hero-index{color:#e1bc83}dialog{background:#fffaf2}#main>.loading{background:#fff8ec}.form-error{background:#fff2ef;padding:10px;border-radius:8px}.section .notice{background:#f2e5cc}.committee-image{background:#f1e4cc}.card.registration{background:#720f15}.card.registration p{color:#f1ded7}.card.registration h3{color:#ffe695}#main>.section:first-child:last-child{min-height:250px}@media(min-width:1101px){.navigation-bar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding-inline:20px}.navigation-bar nav{grid-column:2}.navigation-bar .header-tools{grid-column:3;justify-self:end;border:0;padding:0;margin:0}.association-masthead{min-height:160px;padding:12px 140px}header .brand img{width:65px;height:80px;margin-bottom:2px}.association-name-th,.association-name-en{font-size:clamp(24px,2vw,30px)}.header-art{width:84px;height:106px}.navigation-bar{min-height:68px;padding-block:8px}.association-masthead .brand{max-width:min(100%,1000px)}}@media(min-width:1600px){header{padding:0}}@media(max-width:1200px){.navigation-bar nav{font-size:15px}.navigation-bar nav a{padding:10px 12px}.navigation-bar{gap:12px}.navigation-bar .header-tools{padding-left:12px;gap:10px}.art-left{left:5%}.art-right{right:5%}}@media(max-width:1100px){.association-masthead{min-height:195px;padding:16px 110px}.association-name-th{font-size:31px}.association-name-en{font-size:31px}.header-art{transform:translateY(-50%) scale(.8)}.art-right{transform:translateY(-50%) scale(.8)}.art-left{left:2%}.art-right{right:2%}.navigation-bar{flex-wrap:wrap;justify-content:space-between;padding:12px 6%;gap:12px}.navigation-bar #menu{display:block;margin:0}.navigation-bar nav{display:none;order:3;flex-basis:100%;grid-template-columns:1fr;gap:0;border-top:1px solid #d4af3744;padding-top:12px;font-size:17px}.navigation-bar nav.open{display:grid}.navigation-bar nav a{justify-content:space-between;background:transparent;border:0;border-bottom:1px solid #d4af3733;border-radius:0;padding:14px 12px;min-height:54px}.navigation-bar nav a[aria-current=page]{background:#edcf76;color:#491009}.navigation-bar .header-tools{width:auto;border:0;order:2;margin:0;padding:0;gap:22px}.section{width:calc(100% - 48px);padding:40px 5%;margin:24px auto}}@media(max-width:650px){.association-masthead{min-height:195px;padding:12px 22px}header .brand{gap:3px}header .brand img{width:78px;height:96px;margin-bottom:0}.association-name-th{font-size:25px;max-width:100%;line-height:1.4}.association-name-en{font-size:25px;line-height:1.4;max-width:100%}.header-art{top:20px;width:51px;height:64px;transform:none;opacity:1}.art-left{left:8%;top:10px}.art-right{right:7%;top:36px;transform:none}.navigation-bar{padding:10px 5%;min-height:70px}.navigation-bar .header-tools{gap:15px}.navigation-bar .language,.navigation-bar .account-link{font-size:13px}.navigation-bar nav{font-size:16px}.navigation-bar nav a{padding:12px 14px}.section{width:calc(100% - 24px);padding:30px 6%;margin:16px auto;border-radius:14px}.section-heading{gap:12px}.hero-photo img{height:280px}.association-hero{padding:40px 6% 65px;min-height:0}.association-hero h1{font-size:39px}.page-head{padding:33px 6%}.page-head h1{font-size:32px}.gallery-grid{gap:22px}.section.auth-section{padding:22px 4%}.festival-strip{padding:20px}.section .join-banner{padding:25px}}@media(max-width:360px){.association-name-th{font-size:22px}.association-name-en{font-size:22px}.association-masthead{min-height:185px;padding-inline:21px}.navigation-bar .header-tools{gap:10px}.navigation-bar .account-link{font-size:12px}.association-hero h1{font-size:34px}.section{padding:28px 5%}.section h2{font-size:28px}}@media print{body{background:white}.section{width:100%;border:0;padding:0;margin:0;background:white}.ticket{background:white}.association-masthead,.navigation-bar{display:none}}


/* Prominent horizontal identity on wide screens; compact stacked mobile identity. */
@media(min-width:1101px){header .brand{flex-direction:row;align-items:center;gap:24px;max-width:1000px}header .brand img{width:96px;height:120px;margin:0;flex-shrink:0}.association-name-th,.association-name-en{text-align:left;font-size:clamp(26px,2.4vw,36px)}.association-masthead{padding-block:14px}}
@media(max-width:650px){.association-masthead{min-height:180px;padding-block:8px}header .brand img{width:86px;height:104px}.association-name-th,.association-name-en{font-size:23px}}

.contact-email{overflow-wrap:anywhere}

/* Keep the full email readable within the footer column. */
.footer-top>div{min-width:0}.footer-top a.contact-email{font-size:14px;line-height:1.6;overflow-wrap:normal;word-break:normal}
@media(min-width:901px){.footer-top{grid-template-columns:1fr 1.2fr minmax(280px,1fr)}}
@media(max-width:360px){.footer-top a.contact-email{font-size:13px}}
.application-table-wrap{max-width:100%;overflow-x:auto;margin:20px 0}.guest-applications{min-width:0}.application-table{width:100%;min-width:850px;border-collapse:collapse;text-align:left}.application-table th,.application-table td{padding:14px 12px;border-bottom:1px solid #dfd4cc;vertical-align:top;overflow-wrap:anywhere;max-width:240px}.application-table th{background:#f5eee7}.application-history{border-left:3px solid #c89c48;padding:8px 16px;margin:16px 0}.application-history p{margin:6px 0}.cookie-notice{position:fixed;bottom:16px;left:16px;right:16px;z-index:100;background:#fffaf3;color:#332525;border:1px solid #c9ac73;border-radius:16px;padding:16px 24px;box-shadow:0 4px 24px #0003;max-width:780px;margin:auto;max-height:45vh;overflow:auto}.cookie-notice p{margin:0 0 10px}.cookie-notice .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.cookie-notice h2{font-size:20px;margin:0 0 8px}.cookie-reopen{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit}.cookie-details{overflow-wrap:anywhere}

/* Compact notices and an explicit current-language indicator. */
.cookie-notice{max-width:520px;padding:12px 16px;border-radius:12px;left:12px;right:12px;bottom:12px;font-size:15px;line-height:1.55}.cookie-notice p{margin:0 0 6px}.cookie-notice .actions{margin:0;justify-content:space-between;gap:8px}.cookie-notice .btn{min-height:40px;padding:7px 16px;font-size:14px}.cookie-notice a{font-size:14px;text-underline-offset:3px}.cookie-dialog{width:calc(100% - 32px);max-width:600px;max-height:80dvh;padding:28px;border:1px solid #d9c29c;border-radius:18px;color:#332125;overflow:auto;box-shadow:0 16px 70px #0005}.cookie-dialog::backdrop{background:#25080bb3}.cookie-dialog h2{font-size:24px;padding-right:24px}.cookie-dialog p,.cookie-dialog li{font-size:16px;line-height:1.7}.cookie-dialog-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;background:transparent;color:#720e29;font-size:28px;cursor:pointer}.cookie-details details{border-top:1px solid #d9cbbc;border-bottom:1px solid #d9cbbc;padding:12px 0;margin:18px 0}.cookie-details summary{cursor:pointer;color:#800027;font-weight:600}.navigation-bar #language{display:flex;align-items:center;gap:3px;padding:4px;border:1px solid #e2bd6780;border-radius:30px;background:#32071080;box-shadow:inset 0 1px 0 #ffffff12;color:#ffeabc;min-height:44px;font-size:14px;white-space:nowrap}.language-globe{padding:0 6px;font-size:22px;line-height:1}.language-option{padding:6px 11px;border-radius:22px;line-height:1.4}.language-option.is-active{background:linear-gradient(120deg,#ffe9a6,#e8c265);color:#481018;font-weight:700}#language:hover{border-color:#ffe9a6}#language:focus-visible,.cookie-notice a:focus-visible,.cookie-dialog button:focus-visible{outline:3px solid #c99736;outline-offset:3px}@media(max-width:400px){.cookie-dialog{padding:22px 18px}.cookie-dialog h2{font-size:22px}}
.album-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:22px}.album-card{display:flex;flex-direction:column;background:#fffdf9;border:1px solid #d8b57599;border-radius:16px;overflow:hidden;min-height:44px}.album-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#efe5d4}.album-copy{display:flex;flex-direction:column;gap:4px;padding:14px 16px}.album-copy b{font-weight:600;line-height:1.5}.album-copy small{color:#7a6b70;font-size:14px}.album-card:hover img{opacity:.92}.album-shots{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px;margin:22px 0}.album-shot{display:block;min-height:44px}.album-shot img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:12px;background:#efe5d4}.lightbox-dialog{width:min(96vw,1400px);max-width:none;padding:16px}.lightbox img{display:block;width:100%;height:78vh;max-height:78vh;margin:auto;border-radius:10px;object-fit:contain;background:#f3ebdd}.lightbox-bar{display:flex;justify-content:center;align-items:center;gap:18px;padding:14px 0 0;font-size:16px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.team-grid .card{padding:18px 22px}.team-grid .person-role{display:block;font-size:13px;color:#94702e;letter-spacing:.5px}.team-grid strong{font-weight:500;font-size:19px}.plain-list{padding-left:22px;line-height:2}@media(max-width:650px){.album-shots{grid-template-columns:repeat(2,1fr);gap:8px}.lightbox-dialog{padding:10px}.lightbox img{max-height:70vh}}
.footer-top>div{min-width:0}.footer-top a.contact-email{display:inline;overflow-wrap:anywhere;word-break:break-all}@media(max-width:1000px){.footer-top{grid-template-columns:1fr;gap:24px}}

/* Journey timeline */
.journey{--gold:#c49a3c;list-style:none;margin:40px 0 0;padding:0;position:relative}
.journey:before{content:'';position:absolute;top:0;bottom:0;left:50%;width:4px;margin-left:-2px;border-radius:2px;background:linear-gradient(#e6cf96,var(--gold) 15%,var(--gold) 85%,#e6cf96);transform-origin:top}
.journey-item{position:relative;display:grid;grid-template-columns:1fr 96px 1fr;align-items:center;margin:0 0 46px}
.journey-item:last-child{margin-bottom:0}
.journey-year{grid-column:2;grid-row:1;justify-self:center;z-index:1;display:grid;place-items:center;width:86px;height:86px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3c4,#e2ba53 55%,#b88a2c);border:3px solid #fffaf2;box-shadow:0 0 0 2px var(--gold),0 8px 22px #5c0b1c40}
.journey-year b{font-size:21px;color:#4c130e;letter-spacing:.5px}
.journey-card{grid-row:1;display:flex;flex-direction:column;overflow:hidden;background:#fffdf9;border:1px solid #dfcfae;border-radius:18px;box-shadow:0 10px 30px #5c0b1c14}
.journey-item:nth-child(odd) .journey-card{grid-column:1}.journey-item:nth-child(even) .journey-card{grid-column:3}
.journey-card img{display:block;width:100%;aspect-ratio:16/8;object-fit:cover;background:#efe5d4}
.journey-copy{padding:20px 24px 24px}.journey-copy h3{margin:6px 0 8px;font-size:24px;line-height:1.45;color:#800020}.journey-copy p{margin:0;color:#66565c}
.journey-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 14px;border:1px solid #d8b575;border-radius:24px;background:#fbf3e2;color:#6b1a20;font-size:15px;font-weight:600}.chip:hover{background:#f4e3bd}.chip span{color:#b88a2c}
@media(max-width:900px){.journey:before{left:34px}.journey-item{grid-template-columns:68px 1fr;align-items:start}.journey-year{grid-column:1;width:64px;height:64px}.journey-year b{font-size:16px}.journey-item:nth-child(n) .journey-card{grid-column:2}.journey-copy{padding:16px 18px 20px}.journey-copy h3{font-size:21px}}
.journey.anim:before{transform:scaleY(0)}.journey.anim .journey-year{transform:scale(.3);opacity:0}.journey.anim .journey-card{opacity:0;transform:translateY(24px)}
.journey.in:before{transform:none;transition:transform 1.6s ease}
.journey.in .journey-year{transform:none;opacity:1;transition:transform .5s cubic-bezier(.2,1.5,.4,1) calc(.25s + var(--i) * .35s),opacity .3s ease calc(.25s + var(--i) * .35s)}
.journey.in .journey-card{opacity:1;transform:none;transition:opacity .6s ease calc(.4s + var(--i) * .35s),transform .6s ease calc(.4s + var(--i) * .35s)}
.journey-item{--i:0}.journey-item:nth-child(2){--i:1}.journey-item:nth-child(3){--i:2}.journey-item:nth-child(n+4){--i:3}
@media(min-width:901px){.journey-item+.journey-item{margin-top:-90px}}
.association-hero .photo-caption{left:22px;bottom:22px;padding:9px 18px 10px;border-radius:999px;background:linear-gradient(120deg,#3a0610d9,#6b0f1ecc);border:1px solid #e9c66b99;color:#fff3d6;box-shadow:0 6px 18px #0005;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;gap:10px}.association-hero .photo-caption:before{content:'♪';color:#f2cf73;font-size:18px;line-height:1}.association-hero .photo-caption span{display:none}.association-hero .photo-caption strong{font-size:17px;font-weight:500;letter-spacing:.2px;color:#fff3d6}
