.board-page{background: #fff;}
.board-shell{max-width: 1240px;margin: 0 auto;padding: 0 var(--container-gutter) 96px;}
.board-head{display: flex;align-items: flex-end;justify-content: space-between;gap: 24px;margin-bottom: 28px;}
.board-title{margin: 0;color: var(--color-accent);font-size: clamp(28px, 4vw, 42px);font-weight: 700;letter-spacing: -0.04em;}
.board-description{margin: 8px 0 0;color: #64748b;font-size: 16px;line-height: 1.6;}
.board-count{flex: 0 0 auto;margin: 0;color: #64748b;font-size: 14px;}
.board-count strong{color: var(--color-accent);font-weight:var(--font-weight-heading);}
.gallery-grid{display: grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap: 28px 22px;}
.gallery-card{min-width: 0;border: 1px solid #e5e7eb;border-radius: 12px;background: #fff;overflow: hidden;transition: transform 160ms ease, box-shadow 160ms ease;}
.gallery-card:hover{transform: translateY(-3px);box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);}
.gallery-card__link{display: block;height: 100%;color: inherit;}
.gallery-card__image-wrap{position: relative;aspect-ratio: 4 / 3;overflow: hidden;background: #f1f5f9;}
.gallery-card__image{width: 100%;height: 100%;object-fit: cover;transition: transform 220ms ease;}
.gallery-card:hover .gallery-card__image{transform: scale(1.025);}
.gallery-card__content{padding: var(--ds-card-pad, 22px 20px);}
.gallery-card__category{display: inline-block;margin-bottom: 8px;color: var(--color-accent);font-size: 13px;font-weight: 700;}
.gallery-card__title{display: -webkit-box;min-height: 0;margin: 0;overflow: hidden;color: var(--color-accent);font-size: 18px;font-weight: 650;line-height: 1.45;letter-spacing: -0.02em;-webkit-box-orient: vertical;-webkit-line-clamp: 2;}
.gallery-card__meta{display: flex;justify-content: space-between;gap: 12px;margin-top: 12px;color: #94a3b8;font-size: 13px;}
.pagination{display: flex;align-items: center;justify-content: center;gap: 6px;margin-top: 48px;}
.pagination__button{display: inline-flex;align-items: center;justify-content: center;width: 44px;height: 44px;border: 1px solid #e2e8f0;border-radius: 50%;background: #fff;color: #475569;font: inherit;font-size: 14px;cursor: pointer;transition: all 0.2s ease;}
.pagination__button:hover:not(:disabled){border-color: var(--color-accent);color: var(--color-accent);}
.pagination__button.is-active{border-color: var(--color-accent);background: var(--color-accent);color: #fff;font-weight: 700;}
.pagination__button:disabled{opacity: 0.35;cursor: default;}
.board-detail{border-top: 1px solid #0f172a;}
.board-detail__header{padding: 34px 30px;border-bottom: 1px solid #e2e8f0;}
.board-detail__title{margin: 0;color: var(--color-accent);font-size: clamp(26px, 3.5vw, 38px);font-weight: 700;line-height: 1.35;letter-spacing: -0.035em;}
@media (max-width: 900px) {.gallery-grid{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 640px) {
.board-shell{padding-bottom: 64px;}
.board-head{display: block;margin-bottom: 20px;}
.board-count{margin-top: 14px;}
.gallery-grid{grid-template-columns: 1fr;gap: 16px;}
.gallery-card__content{padding: 17px;}
.pagination{margin-top: 36px;}
.board-detail__header{padding: 26px 0;}}
.board-privacy-consent{display: grid;gap: 16px;margin-top: 32px;padding: 22px;border-radius: 10px;background: #f8fafc;border: 0;text-align: left;}
.board-privacy-consent small{display: block;max-height: 110px;overflow: auto;margin: 0;padding: 12px;border: 1px solid #e2e8f0;border-radius: 8px;background: #ffffff;color: #64748b;font-size: 13px;line-height: 1.55;}
.board-privacy-consent__details{width: 100%;max-height: 156px;overflow-y: auto;padding: 16px;border: 1px solid #e2e8f0;border-radius: 8px;background: #ffffff;color: #64748b;scrollbar-color: #cbd5e1 transparent;scrollbar-width: thin;box-sizing: border-box;}
.board-privacy-consent__title{margin: 0 0 10px;color: #1e293b;font-size: 15px;font-weight: 700;line-height: 1.4;text-align: left;}
.board-privacy-consent__intro{margin: 0 0 12px;font-size: 13px;font-weight: 400;line-height: 1.55;color: #64748b;text-align: left;}
.board-privacy-consent__terms{display: grid;gap: 8px;margin: 12px 0;padding: 0;list-style: none;}
.board-privacy-consent__terms > div{display: grid;grid-template-columns: 84px minmax(0, 1fr);gap: 12px;}
.board-privacy-consent__terms dt{color: #475569;font-size: 13px;font-weight: 650;line-height: 1.55;text-align: left;}
.board-privacy-consent__terms dd{margin: 0;color: #64748b;font-size: 13px;font-weight: 400;line-height: 1.55;text-align: left;}
.board-privacy-consent__notice{margin: 12px 0 0;padding-top: 10px;border-top: 1px solid #e2e8f0;font-size: 12px;color: #64748b;line-height: 1.5;text-align: left;}
.board-privacy-consent .board-checkbox-item{display: flex;align-items: center;gap: 10px;margin-top: 6px;color: #334155;font-size: 14px;cursor: pointer;user-select: none;border: 0;padding: 0;background: transparent;}
.board-privacy-consent .board-checkbox-item span strong{color: #1e293b;font-weight:var(--font-weight-heading);}
.board-privacy-consent input[type="checkbox"]{width: 18px;height: 18px;flex: 0 0 18px;margin: 0;accent-color: #002243;cursor: pointer;}
@media (max-width: 768px) {.board-privacy-consent__terms > div{grid-template-columns: 1fr;gap: 2px;}
.board-privacy-consent .board-checkbox-item{min-height: 44px;padding: 8px 0;}}
.gallery-board__summary{display: flex;flex-wrap: wrap;justify-content: center;gap: 10px;margin-bottom: 24px;}
.gallery-board__summary a{display: inline-flex;align-items: center;gap: 5px;min-height: 40px;padding: 0 15px;border: 1px solid #dbe7fa;border-radius: 999px;background: #ffffff;color: #003ea5;font-size: 14.4px;font-weight: 850;text-decoration: none;transition: all 0.2s ease;}
.gallery-board__summary a:hover,.gallery-board__summary a.is-active{border-color: var(--color-accent);background: var(--color-accent);color: #ffffff;}
.gallery-board__summary em{font-style: normal;opacity: 0.78;}
.page-board{--customer-accent: var(--color-accent);--customer-accent-dark: #003ea5;--customer-ink: #101828;--customer-text: #344054;--customer-muted: #667085;--customer-subtle: #98a2b3;--customer-line: #d9dee7;--customer-soft: #f7f9fc;--customer-container: 1240px;background: #fff;}
.page-board .site-main{padding-top: 0;}
.page-board .board-shell,.page-board .board-section{max-width: none;margin: 0;padding: 64px 0 112px;}
.page-board .board-shell > .container,.page-board .board-section > .container{margin-inline: auto;}
.page-board .board-head,.page-board .board-section__head{display: flex;align-items: flex-end;justify-content: space-between;gap: 24px;margin: 0 0 30px;}
.page-board .board-section__head{padding-bottom: 28px;border-bottom: 1px solid var(--customer-ink);}
.page-board .board-section__head--title-only{justify-content: flex-start;}
.page-board .board-section__eyebrow{display: block;margin-bottom: 12px;color: var(--color-label-mint);font-size: 13px;font-weight: 700;letter-spacing: .12em;text-transform: uppercase;}
.page-board .board-title,.page-board .board-section__head h2{margin: 0;color: var(--customer-ink);font-size: clamp(30px, 3.5vw, 42px);font-weight:var(--font-weight-heading);line-height: 1.2;letter-spacing: -0.045em;}
.page-board .board-description{margin-top: 10px;color: var(--customer-muted);}
.page-board-faq .board-section__head{margin-bottom: 28px;padding-bottom: 0;border-bottom: 0;}
.page-board .board-count,.page-board .board-count strong{color: var(--customer-muted);}
.page-board-gallery .gallery-board__summary{display: flex;flex-wrap: nowrap;justify-content: flex-start;gap: 0;margin: 0 0 28px;overflow-x: auto;border-bottom: 1px solid var(--customer-line);scrollbar-width: none;}
.page-board-gallery .gallery-board__summary::-webkit-scrollbar{display: none;}
.page-board-gallery .gallery-board__summary a{position: relative;flex: 0 0 auto;min-height: 46px;padding: 12px 14px;border: 0;border-radius: 0;background: transparent;color: var(--customer-muted);font-size: 14px;font-weight: 650;}
.page-board-gallery .gallery-board__summary a::after{content: "";position: absolute;right: 12px;bottom: -1px;left: 12px;height: 2px;background: transparent;}
.page-board-gallery .gallery-board__summary a:hover,.page-board-gallery .gallery-board__summary a.is-active{background: transparent;color: var(--customer-accent-dark);}
.page-board-gallery .gallery-board__summary a.is-active::after{background: var(--customer-accent);}
.page-board-gallery .gallery-card{border: 1px solid #e1e5eb;border-radius: 10px;box-shadow: none;}
.page-board-gallery .gallery-grid{gap: 24px 20px;}
.page-board-gallery .gallery-card:hover{transform: translateY(-2px);box-shadow: 0 14px 34px rgba(16, 24, 40, 0.08);}
.page-board-gallery .gallery-card__content{padding: var(--ds-card-pad, 22px 20px);}
.page-board-gallery .gallery-card__category{margin-bottom: 8px;color: var(--customer-accent-dark);}
.page-board-gallery .gallery-card__title{min-height: 0;color: var(--customer-ink);font-size: 18px;font-weight: 700;}
.page-board-gallery .gallery-card__meta{margin-top: 12px;}
.page-board-gallery .pagination{margin-top: 42px;}
.page-board .pagination__button{border-radius: 8px;}
.page-board .pagination__button:hover:not(:disabled){border-color: var(--customer-accent);color: var(--customer-accent-dark);}
.page-board .pagination__button.is-active{border-color: var(--customer-accent-dark);background: var(--customer-accent-dark);}
.page-board-faq .faq-board{border-top: 1px solid var(--customer-ink);}
.page-board-faq .faq-card{margin: 0;border: 0;border-bottom: 1px solid var(--customer-line);border-radius: 0;background: #fff;}
.page-board-faq .faq-card summary{position: relative;display: grid;grid-template-columns: 34px minmax(0, 1fr) 28px;align-items: center;min-height: 82px;padding: 22px 12px 22px 0;color: var(--customer-ink);font-size: 18px;font-weight: 700;line-height: 1.55;letter-spacing: -0.02em;list-style: none;cursor: pointer;}
.page-board-faq .faq-card summary::-webkit-details-marker{display: none;}
.page-board-faq .faq-card summary::before{content: "Q";color: var(--customer-accent);font-size: 17px;font-weight: 800;}
.page-board-faq .faq-card summary::after{content: "+";display: grid;place-items: center;width: 28px;height: 28px;color: #475467;font-size: 25px;font-weight: 300;transition: transform 180ms ease, color 180ms ease;}
.page-board-faq .faq-card[open] summary{color: var(--customer-accent-dark);}
.page-board-faq .faq-card[open] summary::after{color: var(--customer-accent);transform: rotate(45deg);}
.page-board-faq .faq-card p{margin: 0;padding: 0 74px 26px 34px;color: var(--customer-muted);font-size: 16px;line-height: 1.75;word-break: keep-all;}
.page-board-contact .board-contact-layout{display: block;}
.page-board-contact .board-contact-panel{width: 100%;padding: 0;border: 0;border-radius: 0;background: #fff;box-shadow: none;}
.page-board-contact .board-contact-form__grid{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 24px 20px;}
.page-board-contact .board-field{min-width: 0;}
.page-board-contact .board-field--full{grid-column: 1 / -1;}
.page-board-contact .board-field--choice{padding: 18px;border: 1px solid #e1e7ef;border-radius: 12px;background: #f8fafc;}
.page-board-contact .board-field > label,.page-board-contact .board-field__label{display: block;margin: 0 0 9px;color: var(--customer-text);font-size: 14px;font-weight: 700;line-height: 1.45;}
.page-board-contact .board-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),.page-board-contact .board-field select,.page-board-contact .board-field textarea{width: 100%;min-height: 52px;padding: 0 15px;border: 1px solid #d7dee8;border-radius: 8px;background: #fff;color: var(--customer-ink);font: inherit;font-size: 15px;transition: border-color 160ms ease, box-shadow 160ms ease;}
.page-board-contact .board-field textarea{min-height: 170px;padding-block: 14px;line-height: 1.65;resize: vertical;}
.page-board-contact .board-field input::placeholder,.page-board-contact .board-field textarea::placeholder{color: var(--customer-subtle);}
.page-board-contact .board-field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):hover,.page-board-contact .board-field select:hover,.page-board-contact .board-field textarea:hover{border-color: #b8c2cf;}
.page-board-contact .board-checkbox-group{display: grid;grid-template-columns: repeat(5, minmax(0, 1fr));gap: 10px;}
.page-board-contact .board-checkbox-item{display: flex;align-items: center;gap: 9px;min-height: 48px;padding: 11px 14px;border: 1px solid var(--customer-line);border-radius: 8px;background: #fff;color: var(--customer-text);font-size: 14px;font-weight: 600;line-height: 1.45;cursor: pointer;transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, color 160ms ease;}
.page-board-contact .board-checkbox-item:hover{border-color: #b9c5d4;}
.page-board-contact .board-checkbox-item input[type="checkbox"]{width: 18px;height: 18px;margin: 0;flex: 0 0 auto;accent-color: var(--customer-accent);}
.page-board-contact .board-checkbox-group .board-checkbox-item:has(input:checked){border-color: var(--customer-accent);background: #eef5ff;color: #004dbd;box-shadow: inset 0 0 0 1px var(--customer-accent);}
.page-board-contact .board-file-list{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px;}
.page-board-contact .board-file-row{display: grid;grid-template-columns: 42px minmax(0, 1fr);align-items: center;gap: 12px;min-height: 58px;padding: 8px 12px;border: 1px solid var(--customer-line);border-radius: 8px;background: var(--customer-soft);}
.page-board-contact .board-file-row label{margin: 0;color: var(--customer-text);font-size: 13px;font-weight: 700;}
.page-board-contact .board-file-row input[type="file"]{min-width: 0;width: 100%;color: var(--customer-muted);font: inherit;font-size: 13px;}
.page-board-contact .board-file-row input[type="file"]::file-selector-button{min-height: 36px;margin-right: 10px;padding: 0 13px;border: 1px solid #cfd6df;border-radius: 6px;background: #fff;color: var(--customer-text);font: inherit;font-weight: 650;cursor: pointer;}
.page-board-contact .board-privacy-consent{display: grid;gap: 14px;margin-top: 30px;padding: 22px;border: 1px solid #e4e7ec;border-radius: 10px;background: var(--customer-soft);}
.page-board-contact .board-privacy-consent > .board-checkbox-item{min-height: auto;padding: 0;border: 0;background: transparent;}
.page-board-contact .board-privacy-consent__details{max-height: 190px;overflow-y: auto;border-color: #e1e6ed;background: #fff;}
.page-board-contact .board-contact-form__submit{display: flex;justify-content: center;margin-top: 34px;}
.page-board-contact .board-submit-btn{display: inline-flex;align-items: center;justify-content: center;gap: 10px;min-width: 210px;min-height: 54px;padding: 0 28px;border: 0;border-radius: 8px;background: var(--customer-accent-dark);color: #fff;font: inherit;font-size: 15px;font-weight: 750;cursor: pointer;transition: background-color 160ms ease, transform 160ms ease;}
.page-board-contact .board-submit-btn:hover{background: var(--customer-accent);transform: translateY(-1px);}
.page-board-contact .board-contact-info{display: grid;gap: 24px;margin-top: 64px;padding-top: 40px;border-top: 1px solid var(--customer-line);}
.page-board-contact .board-contact-card{display: grid;grid-template-columns: minmax(0, 1fr) auto;align-items: center;gap: 12px 32px;padding: 28px 30px;border: 1px solid #e1e6ed;border-radius: 10px;background: var(--customer-soft);}
.page-board-contact .board-contact-card h3,.page-board-contact .board-contact-card p{margin: 0;}
.page-board-contact .board-contact-card h3{color: var(--customer-ink);font-size: 21px;letter-spacing: -0.03em;}
.page-board-contact .board-contact-card p{color: var(--customer-muted);font-size: 14px;line-height: 1.65;}
.page-board-contact .board-contact-card__btns{grid-column: 2;grid-row: 1 / span 3;display: flex;gap: 10px;}
.page-board-contact .board-contact-card__btns a{display: inline-flex;align-items: center;justify-content: center;gap: 7px;min-height: 46px;padding: 0 16px;border: 1px solid var(--customer-accent-dark);border-radius: 7px;color: var(--customer-accent-dark);font-size: 14px;font-weight: 700;}
.page-board-contact .board-contact-card__btns a:first-child{background: var(--customer-accent-dark);color: #fff;}
@media (max-width: 1024px) {
.page-board-contact .board-checkbox-group{grid-template-columns: repeat(2, minmax(0, 1fr));}
.page-board-contact .board-contact-card{grid-template-columns: 1fr;}
.page-board-contact .board-contact-card__btns{grid-column: auto;grid-row: auto;margin-top: 8px;}}
@media (max-width: 768px) {
.page-board .board-shell,.page-board .board-section{padding-block: 46px 80px;}
.page-board .board-shell > .container,.page-board .board-section > .container{}
.page-board .board-head,.page-board .board-section__head{align-items: flex-start;margin-bottom: 22px;}
.page-board-gallery .gallery-board__summary{margin-bottom: 26px;}
.page-board-gallery .gallery-board__summary a{min-height: 44px;padding: 11px 14px;}
.page-board-gallery .gallery-grid{gap: 20px;}
.page-board-gallery .gallery-card__content{padding: 18px 16px;}
.page-board-gallery .pagination{margin-top: 34px;}
.page-board .board-title,.page-board .board-section__head h2{font-size: 30px;}
.page-board-contact .board-contact-form__grid,.page-board-contact .board-checkbox-group,.page-board-contact .board-file-list{grid-template-columns: 1fr;}
.page-board-contact .board-field--choice{padding: 15px;}
.page-board-contact .board-file-row{grid-template-columns: 42px minmax(0, 1fr);}
.page-board-contact .board-contact-card{padding: 24px 20px;}
.page-board-contact .board-contact-card__btns{flex-direction: column;}
.page-board-faq .faq-card summary{grid-template-columns: 28px minmax(0, 1fr) 24px;min-height: 72px;padding-block: 18px;font-size: 16px;}
.page-board-faq .faq-card p{padding: 0 42px 22px 28px;font-size: 15px;}}
@media (max-width: 480px) {
.page-board .board-count{padding-top: 8px;font-size: 13px;}
.page-board-contact .board-privacy-consent{padding: 18px 14px;}
.page-board-contact .board-submit-btn{width: 100%;}}
.page-board-gallery-detail .board-shell > [data-board-gallery-detail],.page-board-gallery-detail .board-shell[data-board-gallery-detail]{width: min(calc(100% - 48px), var(--customer-container, 1240px));max-width: var(--customer-container, 1240px);margin-inline: auto;}
.page-board-gallery-detail .board-detail__title{color: #111111;font-size: 32px;margin-bottom: 24px;}
.page-board-gallery-detail .board-detail__header{width: min(100%, 980px);margin-inline: auto;padding: 34px 0 30px;}
@media (max-width: 760px) {
  .page-board-gallery-detail .board-shell > [data-board-gallery-detail],.page-board-gallery-detail .board-shell[data-board-gallery-detail]{width: min(calc(100% - 36px), var(--customer-container, 1240px));}
  .page-board-gallery-detail .board-detail__header{padding: 24px 0 22px;}
}
.board-message,.board-empty,.board-loading{grid-column:1/-1;padding:48px 24px;background:#f6f8fb;text-align:center;border-radius:12px}
.board-message button{margin-top:16px;color:var(--color-primary)}
.board-detail__hero img{max-height:600px;margin:auto}
.detail-nav{padding-bottom:60px}
.board-detail__content{line-height:1.8}
.board-contact-form__message,[data-lead-form-message]{margin:20px 0;color:#b42318}
.gallery-card img{width:100%;aspect-ratio:4/3;object-fit:cover}
.gallery-category{min-height:44px;display:inline-flex;align-items:center;padding:10px 16px;border-radius:22px;background:#edf3fc;color:#003ea5}
.gallery-category.is-active{background:#003ea5;color:#fff}
.gallery-comparison{margin-top:32px}
.gallery-comparison>div{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gallery-comparison figure{margin:0}
.gallery-comparison img{width:100%;height:auto}
.gallery-comparison figcaption{padding:10px 0;font-weight:700}
@media(max-width:480px){.gallery-comparison>div{grid-template-columns:1fr}}

.faq-card summary:focus-visible{background:var(--color-primary-soft);color:var(--color-primary-deep);}

/* Reserve the visible list area before asynchronous categories and cards arrive. */
.page-board-gallery .gallery-board__summary{min-height:47px;}
.page-board-gallery [data-board-gallery-list]{min-height:calc(100svh - 360px);align-content:start;}
