/* Shared detail pass for SHAMPAIN's public service and information pages. */
:focus-visible{outline:3px solid #f0d788!important;outline-offset:4px!important}
.skip:focus{z-index:100}
.header,.topbar{position:relative;z-index:20}
.nav a,.button,.cta{transition:color .2s ease,background .2s ease,transform .25s ease,border-color .2s ease,box-shadow .25s ease}
.nav a:focus-visible,.brand:focus-visible{border-radius:2px}
.button:hover,.cta:hover{transform:translateY(-2px);box-shadow:0 9px 24px #c9a85b30}
.art{overflow:hidden;border:1px solid #d5b46144;box-shadow:0 22px 58px #0008}
.art>svg{transform-origin:center;animation:shampain-visual-drift 6s ease-in-out infinite alternate}
.card{position:relative;overflow:hidden;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:before{content:"";position:absolute;width:120px;height:120px;right:-60px;top:-60px;border:1px solid #d6b65d38;border-radius:50%;box-shadow:0 0 0 15px #d6b65d0a,0 0 0 31px #d6b65d07;pointer-events:none;transition:transform .35s ease,border-color .25s ease}
.card:hover{transform:translateY(-4px);border-color:#c4a256;box-shadow:0 18px 42px #0008}
.card:hover:before{transform:scale(1.18);border-color:#e4c97888}
.step{transition:background .25s ease,transform .25s ease}
.step:hover{background:linear-gradient(110deg,#c9a85b0c,transparent 75%);transform:translateY(-2px)}
.band{background:linear-gradient(90deg,#c9a85b08,transparent 40%,#c9a85b08)}
.close,.close-row{position:relative}
.close .cta,.close .button{flex:none}
.faq-item,.faq-list details{transition:border-color .2s ease,background .2s ease}
.faq-item:hover,.faq-list details:hover{border-color:#c9a85b88}
.shell-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.shell-head a{color:#e4c978}
.hero h1 small{display:inline-block;margin-top:.18em;color:#e4c978;font:500 .48em/1.2 Inter,"Aptos",ui-sans-serif,system-ui,sans-serif;letter-spacing:.025em}
@keyframes shampain-visual-drift{from{transform:translate(-50%,-50%) scale(1) rotate(-1deg)}to{transform:translate(-50%,-52%) scale(1.045) rotate(1deg)}}
@media(max-width:600px){.art{box-shadow:0 14px 34px #0008}.card:hover{transform:translateY(-2px)}.card:hover:before{transform:scale(1.08)}.band{background:linear-gradient(90deg,#c9a85b06,transparent 40%,#c9a85b06)}}
@media(prefers-reduced-motion:reduce){.art>svg,.card,.card:before,.step,.button,.cta{animation:none!important;transition:none!important;transform:none!important}}

/* Homepage public sitemap directory */
.site-directory{padding:74px 0 82px;background:linear-gradient(180deg,#10100e 0%,#0a0908 100%);border-top:1px solid #514832}
.site-directory-inner{display:grid;grid-template-columns:.72fr 1.28fr;gap:56px;align-items:start}
.site-directory-intro .section-label{color:#e4c978}
.site-directory-intro h2{margin:12px 0 14px;font:400 clamp(30px,3.3vw,44px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.025em;color:#f5f0e6}
.site-directory-intro p{max-width:330px;margin:0;color:#b9b1a2;line-height:1.7}
.site-directory-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.directory-group h3{margin:0 0 16px;color:#e4c978;font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.directory-group ul{display:grid;gap:11px;list-style:none;margin:0;padding:0}
.directory-group a{color:#d9d2c5;text-decoration:none;font-size:14px;line-height:1.45;transition:color .18s ease}
.directory-group a:hover{color:#f0d788;text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){.site-directory-inner{grid-template-columns:1fr;gap:32px}.site-directory-intro p{max-width:520px}}
@media(max-width:650px){.site-directory{padding:56px 0 60px}.site-directory-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}.directory-group h3{font-size:11px}.directory-group a{font-size:13px}}
@media(max-width:390px){.site-directory-groups{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.directory-group a{transition:none}}
/* Full-width footer containing the page directory */
.site-footer{display:block;width:100%;background:var(--paper)}