.button.line-button,.gallery-site .line-button{display:inline-flex;align-items:center;justify-content:space-between;gap:22px;min-height:56px;padding:13px 20px;border-radius:8px;font-size:14px;font-weight:800;line-height:1.4;text-decoration:none;transition:background .2s,transform .2s}
.button.line-button:hover,.gallery-site .line-button:hover{transform:translateY(-2px)}
.button.line-button>span,.gallery-site .line-button>span{font-size:20px;line-height:1}
.opening-action .line-button{width:min(100%,370px)}
.service-action{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}
.service-action .line-button{min-width:250px}
.contact-bottom>div{display:flex;flex-wrap:wrap;gap:10px;align-items:center;max-width:620px}
.contact-bottom>div .small-note{width:100%;margin-top:2px}
.opening-gallery{height:clamp(430px,40vw,590px);padding:0;position:relative;overflow:hidden;border:1px solid #b7d8d5;border-radius:14px;background:white;box-shadow:0 24px 50px rgba(7,83,93,.18);color:var(--ink)}
.opening-gallery-bar{height:39px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 13px;border-bottom:1px solid #cce2df;background:#fafdfe;color:#617b80;font-size:9px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.opening-gallery-dots{color:#68c6ae;letter-spacing:2px}
.opening-gallery-columns{height:calc(100% - 39px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:9px;overflow:hidden;background:#eaf5f3}
.opening-gallery-column{min-width:0;overflow:hidden}
.opening-gallery-track{display:flex;flex-direction:column;animation:home-preview-up 58s linear infinite}
.opening-gallery-column-2 .opening-gallery-track{animation-name:home-preview-down;animation-duration:64s;transform:translateY(-50%)}
.opening-gallery-group{display:flex;flex-direction:column;gap:9px;padding-bottom:9px}
.opening-gallery-card{overflow:hidden;background:white;border:1px solid #dce8e7;border-radius:5px;box-shadow:0 6px 18px rgba(9,63,70,.08)}
.opening-gallery-card img{display:block;width:100%;height:auto;aspect-ratio:1365/900;object-fit:cover;object-position:top}
.opening-gallery-card span{display:block;padding:5px 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#07535d;font-size:9px;font-weight:700}
.opening-gallery:hover .opening-gallery-track,.opening-gallery:focus-within .opening-gallery-track{animation-play-state:paused}
@keyframes home-preview-up{to{transform:translateY(-50%)}}
@keyframes home-preview-down{to{transform:translateY(0)}}
.gallery-site .gallery-contact .line-button{margin:30px 8px 0 0}
.gallery-site .gallery-contact .contact-link{margin-top:30px}
.gallery-site .filter-chip[aria-pressed="true"]{background:#07535d;border-color:#07535d;color:white}
@media(max-width:767px){.opening-gallery{height:450px;width:100%}.opening-action .line-button{width:100%;font-size:12px}.contact-bottom>div{display:block}.contact-bottom>div>.button{width:100%;min-height:54px;margin-bottom:9px}.service-action .line-button{width:100%;font-size:12px}.service-action .button:not(.line-button){width:100%}.gallery-site .gallery-contact .line-button,.gallery-site .gallery-contact .contact-link{width:min(100%,350px);margin:12px auto 0}.gallery-site .hero-actions{gap:12px}}
@media(prefers-reduced-motion:reduce){.opening-gallery-track{animation:none!important}}
/* Give the two consultation choices equal visual weight in the final panel. */
.contact-bottom>div>.button{width:260px;min-width:0;min-height:62px;padding:15px 22px}
@media(max-width:767px){.contact-bottom>div>.button{width:100%}}
/* Quiet white and blue surfaces; distinct, restrained actions. */
:root{--bg:#fbfdff;--paper:#fbfdff;--surface:#fff;--ink:#173447;--muted:#526b79;--brand:#315f88;--brand-deep:#173d60;--brand-tint:#f1f9ff;--action:#315f88;--action-hover:#244e73;--line:#dfebf3;--teal:#315f88;--deep:#173d60;--pale:#f0f8ff;--sample-pastel:#b8e4ff;--line-pastel:#c2f6de;--coconala-pastel:#e1d4ff}
.opening{background:#fff}
.pricing-grid>div:first-child{background:#edf8ff;color:var(--ink)}
.price-category,.price-note{color:var(--muted)}
.final-cta{background:#eaf7ff;color:var(--ink)}
.final-cta .section-label,.final-cta h2 em,.contact-bottom>p,.contact-bottom .small-note{color:var(--ink)}
.gallery-site .gallery-contact{background:#edf8ff;color:var(--ink)}
.gallery-site .gallery-contact .section-kicker,.gallery-site .gallery-contact>p:not(.section-kicker){color:var(--ink)}
.opening-gallery-columns{background:#f0f9ff}
.gallery-header nav .nav-consult{display:inline-flex;align-items:center;min-height:44px;padding:0;background:none;border:0;border-radius:0;box-shadow:none;color:var(--ink);font-size:12px;font-weight:700;white-space:nowrap}
.gallery-header nav .nav-consult:hover{color:var(--brand)}
.gallery-site .exhibition-hero{background:#fff}
.gallery-site .exhibition-hero-bottom{border-color:#d7e2ea}
.gallery-site .eyebrow-dot{background:#6a9ac2;box-shadow:0 0 0 4px #e4eef6}
.gallery-site .gallery-window{border-color:#d6e2ea}
.gallery-site .scroll-columns,.gallery-site .sample-frame,.gallery-site .dialog-image-wrap{background:#f0f9ff}
.gallery-site .window-link{background:transparent}
.gallery-site .filter-chip,.gallery-site .sample-card{border-color:#d7e2ea}
.opening-action .opening-samples,.showcase-link.sample-list-link,.gallery-site .primary-link,.gallery-site .window-link span{background:var(--sample-pastel);border:2px solid #82c9ef;color:var(--ink);box-shadow:0 6px 16px rgba(46,145,204,.12)}
.opening-action .opening-samples:hover,.showcase-link.sample-list-link:hover,.gallery-site .primary-link:hover,.gallery-site .window-link:hover span{background:#a6dbfb;border-color:#61b6e7;color:var(--ink)}
body .button.line-button,.gallery-site .line-button{background:var(--line-pastel);border:2px solid #83dcb0;color:var(--ink);box-shadow:0 6px 16px rgba(44,169,112,.1)}
body .button.line-button:hover,.gallery-site .line-button:hover{background:#acf0cb;border-color:#62cd99;color:var(--ink);box-shadow:0 8px 18px rgba(44,169,112,.14)}
body .button.coconala-button,.gallery-site .coconala-button{background:var(--coconala-pastel);border:2px solid #b9a0ef;color:var(--ink);box-shadow:0 6px 16px rgba(133,99,207,.1)}
body .button.coconala-button:hover,.gallery-site .coconala-button:hover{background:#d2c0fb;border-color:#a786e8;color:var(--ink);box-shadow:0 8px 18px rgba(133,99,207,.14)}
.gallery-site .filter-chip[aria-pressed="true"]{background:var(--sample-pastel);border-color:#82c9ef;color:var(--ink)}
.opening-action>.button{min-height:62px;padding:15px 22px;border-radius:8px;font-size:14px;font-weight:800;justify-content:center}
.opening-action .contact-channel-note{width:min(100%,370px);margin:4px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.service-action>.button{width:min(100%,300px);min-width:0;min-height:62px;padding:15px 22px;border-radius:8px;font-size:14px;font-weight:800;line-height:1.4;justify-content:center}
.contact-bottom>div>.button{font-size:14px;font-weight:800;line-height:1.4;justify-content:center}
.contact-bottom .small-note{font-size:13px;line-height:1.7}
.pricing .button{font-size:15px;font-weight:800;justify-content:center}
.showcase-links .showcase-link{min-height:68px;padding:14px 20px;border:1px solid #bcd9d7;border-radius:8px;font-size:14px;font-weight:800;line-height:1.4;justify-content:center;text-align:center}
.gallery-site .gallery-contact .line-button,.gallery-site .gallery-contact .contact-link{display:inline-flex;align-items:center;justify-content:center;width:260px;min-height:62px;padding:15px 22px;margin:30px 6px 0;border-radius:8px;font-size:14px;font-weight:800;line-height:1.4}
.gallery-site .gallery-contact .contact-channel-note{max-width:600px;margin:18px auto 0;color:var(--ink);font-size:13px;line-height:1.7}
@media(max-width:767px){.service-action>.button,.contact-bottom>div>.button{width:100%;font-size:12px}.showcase-links .showcase-link{min-height:60px;font-size:12px}.gallery-site .gallery-contact .line-button,.gallery-site .gallery-contact .contact-link{display:flex;width:min(100%,350px);margin:12px auto 0}.gallery-header nav{flex-wrap:wrap;justify-content:flex-start;column-gap:18px}.gallery-header nav .nav-consult{min-height:36px;font-size:10px}}
@media(max-width:540px){.gallery-header nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px}.gallery-header nav>a{min-height:36px;display:flex;align-items:center}}
@media(max-width:767px){.contact-bottom .small-note{font-size:12px}}
