:root{--cnt-blue:#002B8B;--cnt-orange:#FF9600;--cnt-ink:#172036;--cnt-muted:#687083;--cnt-line:#e5e8ef;--cnt-soft:#f5f7fb}
.cnt-portfolio,.cnt-single,.cnt-lightbox{font-family:"LINE Seed Sans TH Regular","LINE Seed Sans TH",sans-serif;color:var(--cnt-ink);box-sizing:border-box}
.cnt-portfolio *,.cnt-single *,.cnt-lightbox *{box-sizing:border-box}.cnt-portfolio a,.cnt-single a{text-decoration:none}
.cnt-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:14px;align-items:end;margin:0 0 30px;padding:20px;background:var(--cnt-soft);border-radius:12px}
.cnt-filters label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:700}.cnt-filters select{width:100%;min-height:46px;padding:0 38px 0 14px;border:1px solid var(--cnt-line);border-radius:7px;background:#fff;color:var(--cnt-ink);font:400 15px "LINE Seed Sans TH Regular",sans-serif}
.cnt-reset,.cnt-button{min-height:46px;padding:0 22px;border:0;border-radius:7px;background:var(--cnt-blue);color:#fff!important;font:700 15px "LINE Seed Sans TH Bold",sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cnt-reset:hover,.cnt-button:hover{background:#001e64}.cnt-button--outline{background:#fff;color:var(--cnt-blue)!important;border:2px solid var(--cnt-blue)}
.cnt-grid{display:grid;grid-template-columns:repeat(var(--cnt-columns,3),minmax(0,1fr));gap:26px}.cnt-card{overflow:hidden;background:#fff;border:1px solid var(--cnt-line);border-radius:8px;box-shadow:0 12px 32px rgba(0,43,139,.08);transition:transform .22s,box-shadow .22s}.cnt-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,43,139,.14)}.cnt-card[hidden]{display:none}
.cnt-card__image{display:grid;place-items:center;aspect-ratio:16/10;overflow:hidden;background:var(--cnt-soft);color:var(--cnt-muted)}.cnt-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.cnt-card:hover .cnt-card__image img{transform:scale(1.025)}.cnt-card__body{padding:18px 20px 0}.cnt-card__meta{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:9px}.cnt-card__meta span{padding:5px 10px;background:#fff3df;color:#a85f00;font-size:13px;font-weight:700}.cnt-card__meta small{color:var(--cnt-muted);font-size:12px;text-align:right}.cnt-card h3{margin:0 0 9px;font-size:21px;line-height:1.4;font-weight:700}.cnt-card h3 a{color:var(--cnt-ink)}.cnt-card p{margin:0 0 14px;color:var(--cnt-muted);font-size:14px;line-height:1.7}.cnt-card__facts{display:flex;flex-wrap:wrap;gap:8px;padding:13px 0;border-top:1px solid var(--cnt-line)}.cnt-card__facts span{padding-right:9px;border-right:1px solid var(--cnt-line);font-size:13px}.cnt-card__link{display:flex;justify-content:space-between;margin:0 -20px;padding:15px 20px;border-top:1px solid var(--cnt-line);color:var(--cnt-blue);font-weight:700}.cnt-empty{padding:48px 20px;text-align:center;background:var(--cnt-soft);color:var(--cnt-muted);border-radius:10px}
.cnt-single{width:min(1180px,calc(100% - 40px));margin:64px auto}.cnt-overview{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:46px;align-items:start}.cnt-hero-image{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:8px}.cnt-eyebrow{display:block;margin-bottom:7px;color:var(--cnt-orange);font-family:"LINE Seed Sans TH Bold",sans-serif;font-size:15px;font-weight:700;letter-spacing:.08em}.cnt-single h1{margin:8px 0 12px;font-size:clamp(34px,4vw,52px);line-height:1.18}.cnt-single h2{margin:0 0 18px;font-size:clamp(26px,3vw,36px)}.cnt-location{margin-bottom:18px;color:var(--cnt-blue);font-weight:700}.cnt-description{color:var(--cnt-muted);font-size:16px;line-height:1.9}.cnt-highlights{margin:20px 0 26px;padding:0;list-style:none}.cnt-highlights li{position:relative;padding:6px 0 6px 22px;font-weight:700}.cnt-highlights li:before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;background:var(--cnt-orange);border-radius:50%}.cnt-actions{display:flex;gap:10px;flex-wrap:wrap}.cnt-actions .cnt-button{flex:1}.cnt-info{margin-top:70px;padding:34px;border:1px solid var(--cnt-line);border-top:4px solid var(--cnt-blue);border-radius:8px}.cnt-info dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 34px;margin:0}.cnt-info dl div{display:grid;grid-template-columns:135px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid var(--cnt-line)}.cnt-info dt{font-weight:700}.cnt-info dd{margin:0;color:var(--cnt-muted)}
.cnt-gallery-section,.cnt-related{margin-top:80px;text-align:center}.cnt-gallery{display:grid;grid-template-columns:2fr 1fr 1fr;grid-auto-rows:220px;gap:12px;margin-top:34px}.cnt-gallery a{display:block;overflow:hidden;border-radius:5px}.cnt-gallery a.is-featured{grid-row:span 2;grid-column:span 2}.cnt-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.cnt-gallery a:hover img{transform:scale(1.025)}.cnt-related .cnt-grid{--cnt-columns:3;text-align:left;margin-top:34px}.cnt-card--compact h3{font-size:18px}.cnt-final-cta{margin-top:80px;padding:42px;text-align:center;background:var(--cnt-soft);border-radius:10px}.cnt-final-cta p{margin:-8px 0 22px;color:var(--cnt-muted)}.cnt-final-cta .cnt-actions{max-width:520px;margin:auto}
.cnt-lightbox{position:fixed;z-index:999999;inset:0;display:grid;place-items:center;padding:40px;background:rgba(3,12,35,.94)}.cnt-lightbox[hidden]{display:none}.cnt-lightbox img{max-width:95vw;max-height:90vh;object-fit:contain}.cnt-lightbox button{position:absolute;right:24px;top:12px;border:0;background:transparent;color:#fff;font-size:44px;cursor:pointer}
@media(max-width:900px){.cnt-filters{grid-template-columns:repeat(2,1fr)}.cnt-reset{grid-column:1/-1}.cnt-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cnt-overview{grid-template-columns:1fr;gap:30px}.cnt-info dl{grid-template-columns:1fr}.cnt-gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:190px}.cnt-gallery a.is-featured{grid-column:span 2}}
@media(max-width:600px){.cnt-filters{grid-template-columns:1fr;padding:15px}.cnt-reset{grid-column:auto}.cnt-grid,.cnt-related .cnt-grid{grid-template-columns:1fr}.cnt-card__body{padding-left:16px;padding-right:16px}.cnt-card__link{margin-left:-16px;margin-right:-16px}.cnt-single{width:min(100% - 28px,1180px);margin:36px auto}.cnt-single h1{font-size:31px}.cnt-info{padding:22px}.cnt-info dl div{grid-template-columns:105px 1fr;font-size:14px}.cnt-actions{flex-direction:column}.cnt-gallery-section,.cnt-related,.cnt-final-cta{margin-top:56px}.cnt-gallery{grid-template-columns:1fr;grid-auto-rows:230px}.cnt-gallery a.is-featured{grid-column:auto;grid-row:auto}.cnt-final-cta{padding:30px 20px}}

