/*
Theme Name: Plaisance
Description: Thème sur mesure de la Galerie Plaisance (inventaire, fiches, artistes).
Version: 0.2.0
Author: Galerie Plaisance
Text Domain: plaisance
Requires at least: 6.5
Requires PHP: 8.0
*/

:root{--ink:#1a1a1a;--mute:#888;--line:#ececec;--bg2:#f4f4f2;--serif:'Cormorant Garamond',Georgia,serif;--sans:Inter,Helvetica,Arial,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.gp-up{font-size:11px;letter-spacing:.14em;text-transform:uppercase}

/* Header */
.gp-h{position:sticky;top:0;background:#fff;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 40px;border-bottom:1px solid var(--line)}
.admin-bar .gp-h{top:32px}
.gp-nav{display:flex;gap:28px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.gp-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:28px}
.gp-nav a:hover{opacity:.55}
.gp-logo img{height:46px;width:auto}
.gp-logo .gp-logo-txt{font-family:var(--serif);font-size:30px;letter-spacing:.06em}
.gp-right{display:flex;justify-content:flex-end;gap:24px;align-items:center;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.gp-lang b{font-weight:600}.gp-lang a{color:#aaa}
.gp-burger{display:none;background:none;border:0;padding:6px;cursor:pointer;font-size:20px}
.gp-search{display:flex;align-items:center}
.gp-search input{border:0;border-bottom:1px solid #ddd;font:inherit;font-size:12px;width:130px;padding:4px 0;outline:0;letter-spacing:.04em;text-transform:none}

/* Layout */
.gp-wrap{padding:40px}
.gp-cat{display:grid;grid-template-columns:240px 1fr;gap:48px;padding:40px}
.gp-side h4{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#999;font-weight:500;margin:0 0 12px}
.gp-side ul{list-style:none;margin:0 0 34px;padding:0}
.gp-side li a{display:flex;justify-content:space-between;padding:4px 0;font-size:12.5px}
.gp-side li a span{color:#aaa}
.gp-side li.on>a{font-weight:600}
.gp-side li a:hover{opacity:.6}
.gp-side .gp-search-side input{width:100%;border:0;border-bottom:1px solid #ddd;padding:8px 0;font:inherit;font-size:13px;margin-bottom:34px;outline:0}
.gp-chk{display:flex;gap:8px;align-items:center;padding:3px 0;font-size:12.5px}
.gp-chk i{width:11px;height:11px;border:1px solid #bbb;display:inline-block;flex:none}
.gp-chk.on i{background:var(--ink);border-color:var(--ink)}
.gp-chk span{color:#aaa;margin-left:auto}
.gp-chk.more{color:#999;cursor:pointer}
.gp-filter-block{margin-bottom:34px}
.gp-filter-block .hid{display:none}
.gp-filter-block.open .hid{display:flex}
.gp-reset{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid var(--ink)}

.gp-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:28px;gap:20px}
.gp-top h1,.gp-art-h h1,.gp-page h1{font-family:var(--serif);font-weight:400;font-size:46px;line-height:1;margin:0}
.gp-top p{margin:10px 0 0;color:#666;max-width:560px}
.gp-sort select{border:0;font:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#666;background:none;cursor:pointer}

.gp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px}
.gp-grid.g4{grid-template-columns:repeat(4,1fr)}
.gp-img{aspect-ratio:1;background:var(--bg2);overflow:hidden}
.gp-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.gp-card:hover .gp-img img{transform:scale(1.03)}
.gp-cap{padding-top:12px;display:flex;flex-direction:column;gap:2px}
.gp-art{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600}
.gp-ttl{font-family:var(--serif);font-size:18px;line-height:1.25}
.gp-dt{font-size:12px;color:var(--mute)}
.gp-empty{color:#666;padding:40px 0}
.gp-more{text-align:center;margin:56px 0 0}
.gp-more a,.gp-more button{font:inherit;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:0;background:none;border-bottom:1px solid var(--ink);padding:0 0 3px;cursor:pointer}
.gp-more .gp-count{display:block;color:#999;font-size:11px;margin-bottom:14px;letter-spacing:.08em}

/* Breadcrumb / nav row */
.gp-crumb{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#999;margin-bottom:22px}
.gp-crumb a{border-bottom:1px solid transparent}.gp-crumb a:hover{border-color:var(--ink);color:var(--ink)}
.gp-nav-row{display:flex;justify-content:space-between;align-items:center;padding:22px 60px 0;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.gp-nav-row a{display:inline-flex;align-items:center;gap:10px;color:#555}
.gp-nav-row a:hover{color:var(--ink)}
.gp-nav-row .pn{display:flex;gap:28px}
.gp-nav-row .pn .off{color:#ccc}

/* Product */
.gp-prod{display:grid;grid-template-columns:90px minmax(0,1.25fr) minmax(0,1fr);gap:28px 44px;padding:30px 60px 20px}
.gp-th{display:flex;flex-direction:column;gap:12px}
.gp-th button{padding:0;border:0;background:var(--bg2);cursor:pointer;opacity:.6}
.gp-th button.on{opacity:1;outline:1px solid var(--ink)}
.gp-th img{aspect-ratio:3/4;object-fit:cover;width:100%}
.gp-main{background:var(--bg2);position:relative}
.gp-main img{width:100%;aspect-ratio:1;object-fit:contain}
.gp-arr{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.85);font-size:22px;line-height:44px;cursor:pointer;color:var(--ink);z-index:2;padding:0}
.gp-arr.l{left:14px}.gp-arr.r{right:14px}.gp-arr:hover{background:#fff}
.gp-counter{position:absolute;bottom:14px;right:16px;font-size:11px;letter-spacing:.1em;color:#777}
.gp-info{padding-top:4px;max-width:470px}
.gp-info .gp-art{font-size:11.5px;display:block;margin-bottom:10px}
.gp-info .gp-art a{border-bottom:1px solid #ccc}
.gp-info h1{font-family:var(--serif);font-weight:400;font-size:34px;line-height:1.15;margin:0 0 26px}
.gp-cartel{border-top:1px solid #e6e6e6;border-bottom:1px solid #e6e6e6;padding:18px 0;margin:0 0 26px}
.gp-cartel div{display:grid;grid-template-columns:120px 1fr;padding:3px 0;font-size:13px}
.gp-cartel dt{color:#999;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding-top:2px}
.gp-cartel dd{margin:0}
.gp-btn{display:block;text-align:center;background:#111;color:#fff;padding:16px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;border:1px solid #111}
.gp-btn.l{background:#fff;color:#111}
.gp-btn:hover{opacity:.85}
.gp-note{font-size:12px;color:var(--mute);margin:14px 0 30px}
.gp-desc{color:#333;margin-bottom:26px}
.gp-desc p{margin:0 0 10px}
.gp-acc{border-top:1px solid #e6e6e6}
.gp-acc details{border-bottom:1px solid #e6e6e6;padding:16px 0}
.gp-acc summary{cursor:pointer;font-size:11px;letter-spacing:.14em;text-transform:uppercase;list-style:none;display:flex;justify-content:space-between}
.gp-acc summary::-webkit-details-marker{display:none}
.gp-acc summary:after{content:'+'}.gp-acc details[open] summary:after{content:'–'}
.gp-acc .in{margin:14px 0 0;color:#444}
.gp-acc .in p{margin:0 0 10px}
.gp-sold{display:inline-block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);padding:8px 14px;margin-bottom:20px}

.gp-sec{padding:60px 60px 30px}
.gp-sec h2{font-family:var(--serif);font-weight:400;font-size:30px;margin:0 0 28px;display:flex;justify-content:space-between;align-items:baseline}
.gp-sec h2 a{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--ink)}

/* Artist */
.gp-art-h{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:50px 60px 30px;align-items:end;border-bottom:1px solid var(--line)}
.gp-art-h .k{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#999;margin-bottom:14px}
.gp-art-h h1{font-size:64px}
.gp-art-h .d{font-family:var(--serif);font-size:26px;color:#777;margin-top:8px}
.gp-art-h .bio{color:#444;font-size:15px}
.gp-art-h .bio p{margin:0 0 14px}
.gp-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.gp-tags a,.gp-tags span{font-size:11px;border:1px solid #ddd;padding:6px 12px;letter-spacing:.06em}
.gp-letters{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 30px;font-size:12px;letter-spacing:.1em}
.gp-artists{columns:4;column-gap:40px}
.gp-artists h3{font-family:var(--serif);font-weight:400;font-size:26px;margin:24px 0 8px;break-after:avoid}
.gp-artists a{display:flex;justify-content:space-between;gap:10px;padding:3px 0;font-size:13.5px;break-inside:avoid}
.gp-artists a span{color:#aaa}

/* Page */
.gp-page{max-width:820px;margin:0 auto;padding:60px 24px}
.gp-page h1{margin-bottom:30px}
.gp-page .entry{font-size:15px;color:#333}

/* Footer */
.gp-f{margin-top:90px;background:#111;color:#cfcfcf}
.gp-fi{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;padding:64px 60px 48px;max-width:1400px;margin:0 auto}
.gp-f h5{color:#fff;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:0 0 18px}
.gp-f p{margin:0 0 9px;font-size:13.5px;line-height:1.5}
.gp-f a:hover{color:#fff}
.gp-f .nl{display:flex;border-bottom:1px solid #555}
.gp-f .nl input{flex:1;background:none;border:0;color:#fff;padding:10px 0;font:inherit;outline:0}
.gp-f .nl button{background:none;border:0;color:#cfcfcf;font:500 10.5px var(--sans);letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.gp-fb{border-top:1px solid #2a2a2a;display:flex;justify-content:space-between;padding:20px 60px;font-size:11px;letter-spacing:.08em;color:#888;max-width:1400px;margin:0 auto}
.gp-fb div{display:flex;gap:24px}

/* Mobile */
.gp-drawer{display:none}
@media(max-width:1100px){.gp-artists{columns:3}.gp-grid.g4{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){
 .gp-h{padding:14px 16px;grid-template-columns:auto 1fr auto}
 .admin-bar .gp-h{top:46px}
 .gp-nav,.gp-search{display:none}
 .gp-burger{display:block}
 .gp-logo img{height:34px}
 .gp-right{gap:16px}
 .gp-drawer.open{display:block;position:fixed;inset:0;background:#fff;z-index:60;padding:24px 20px;overflow:auto}
 .gp-drawer .x{background:none;border:0;font-size:26px;float:right;cursor:pointer}
 .gp-drawer ul{list-style:none;padding:0;margin:50px 0 0}
 .gp-drawer li a{display:block;font-family:var(--serif);font-size:30px;padding:6px 0}
 .gp-drawer .sub a{font-family:var(--sans);font-size:14px;padding:4px 0 4px 2px;color:#555}
 .gp-cat{grid-template-columns:1fr;padding:20px 16px;gap:10px}
 .gp-side{display:none}.gp-side.open{display:block}
 .gp-filter-toggle{display:inline-block!important}
 .gp-grid,.gp-grid.g4{grid-template-columns:repeat(2,1fr);gap:28px 14px}
 .gp-ttl{font-size:16px}
 .gp-top{flex-wrap:wrap}.gp-top h1{font-size:36px}
 .gp-nav-row{padding:14px 16px 0}.gp-nav-row .pn b{display:none}
 .gp-prod{grid-template-columns:1fr;padding:16px}
 .gp-th{flex-direction:row;order:2;overflow:auto}.gp-th button{width:64px;flex:none}
 .gp-arr{width:36px;height:36px;line-height:36px;font-size:18px}
 .gp-art-h{grid-template-columns:1fr;padding:30px 16px;gap:20px}.gp-art-h h1{font-size:44px}
 .gp-sec{padding:40px 16px}
 .gp-artists{columns:2;column-gap:20px}
 .gp-wrap{padding:24px 16px}
 .gp-fi{grid-template-columns:1fr 1fr;gap:32px 20px;padding:44px 16px 32px}
 .gp-fi>div:first-child,.gp-fi>div:last-child{grid-column:1/-1}
 .gp-fb{flex-direction:column;gap:12px;padding:20px 16px}
}
.gp-filter-toggle{display:none;font-size:11px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--ink);background:none;padding:10px 14px;cursor:pointer;margin-bottom:10px}

/* Accueil : carrousel */
.gp-hero{position:relative;height:min(78vh,760px);min-height:420px;background:var(--bg2);overflow:hidden}
.gp-slide{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-template-rows:100%;align-items:center;opacity:0;visibility:hidden;transition:opacity 1.4s ease,visibility 0s linear 1.4s}
.gp-slide.on{opacity:1;visibility:visible;transition:opacity 1.4s ease}
.gp-slide-img{height:100%;min-height:0;display:flex;align-items:center;justify-content:center;padding:40px 0 40px 60px}
.gp-slide-img img{width:100%;height:100%;object-fit:contain;filter:blur(10px);transform:scale(1.04);transition:filter 1.6s ease,transform 7s ease}
.gp-slide.on .gp-slide-img img{filter:blur(0);transform:scale(1)}
.gp-slide-cap{padding:0 60px 0 30px;display:flex;flex-direction:column;gap:10px;opacity:0;transform:translateY(12px);transition:opacity 1s ease .5s,transform 1s ease .5s}
.gp-slide.on .gp-slide-cap{opacity:1;transform:none}
.gp-slide-t{font-family:var(--serif);font-size:30px;line-height:1.15}
.gp-slide-l{font-size:11px;letter-spacing:.16em;text-transform:uppercase;margin-top:10px}
.gp-slide:hover .gp-slide-l{text-decoration:underline}
.gp-dots{position:absolute;right:60px;bottom:34px;display:flex;gap:8px;z-index:3}
.gp-dots button{width:34px;height:14px;padding:0;border:0;background:none;cursor:pointer;display:flex;align-items:center}
.gp-dots i{display:block;width:100%;height:2px;background:rgba(0,0,0,.18);position:relative;overflow:hidden}
.gp-dots button.on i:after{content:'';position:absolute;inset:0;background:var(--ink);transform-origin:left;animation:gp-prog 6s linear forwards}
.gp-hero.paused .gp-dots button.on i:after{animation-play-state:paused}
@keyframes gp-prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){.gp-slide,.gp-slide-img img,.gp-slide-cap{transition:none!important;filter:none!important}.gp-dots button.on i:after{animation:none;transform:none}}

.gp-intro-home{max-width:760px;margin:0 auto;padding:80px 24px 20px}
.gp-intro-home .entry{font-family:var(--serif);font-size:20px;line-height:1.6;color:#333}
.gp-intro-home .entry p{margin:0 0 20px;text-align:left!important}
.gp-intro-home .entry strong{font-weight:500;color:var(--ink)}

/* Pages */
.gp-page.has-hero{max-width:none;padding:0 0 60px}
.gp-page.has-hero>h1,.gp-page.has-hero>.entry,.gp-page.has-hero>p{max-width:820px;margin-left:auto;margin-right:auto;padding:0 24px}
.gp-page.has-hero>h1{margin-top:50px}
.gp-page-hero{margin:0;height:min(70vh,680px);overflow:hidden;background:var(--bg2)}
.gp-page-hero img{width:100%;height:100%;object-fit:cover}

/* Contact */
.gp-contact{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1200px;margin:0 auto;padding:60px 40px}
.gp-contact h1{font-family:var(--serif);font-weight:400;font-size:46px;margin:0 0 30px}
.gp-contact .gp-cartel dd{line-height:1.6}
.gp-form-h{font-family:var(--serif);font-weight:400;font-size:30px;margin:6px 0 24px}
.gp-form label{display:block;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-bottom:20px}
.gp-form input,.gp-form textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #ccc;padding:8px 0;font:inherit;font-size:15px;color:var(--ink);background:none;outline:0;letter-spacing:0;text-transform:none}
.gp-form textarea{border:1px solid #ddd;padding:12px;resize:vertical}
.gp-form input:focus,.gp-form textarea:focus{border-color:var(--ink)}
.gp-form .gp-btn{width:100%;cursor:pointer;font-family:var(--sans)}
.gp-hp{position:absolute!important;left:-9999px}
.gp-ok{background:#f1f5ef;border-left:2px solid #4c7a3d;padding:14px 16px;margin:0 0 24px}
.gp-err{background:#fbf1ef;border-left:2px solid #a8432f;padding:14px 16px;margin:0 0 24px}
.gp-form-piece{display:flex;gap:16px;align-items:center;border:1px solid #e6e6e6;padding:12px;margin-bottom:26px}
.gp-form-thumb{width:84px;flex:none;background:var(--bg2)}
.gp-form-piece>div:last-child{display:flex;flex-direction:column;gap:2px}

@media(max-width:900px){
 .gp-hero{height:auto;min-height:0}
 .gp-slide{position:relative;display:none;grid-template-columns:1fr;grid-template-rows:auto auto}
 .gp-slide.on{display:grid}
 .gp-slide-img{padding:20px 16px 0;height:50vh}
 .gp-slide-cap{padding:18px 16px 56px}
 .gp-slide-t{font-size:24px}
 .gp-dots{left:16px;right:auto;bottom:22px}
 .gp-intro-home{padding:50px 16px 10px}.gp-intro-home .entry{font-size:17px}
 .gp-contact{grid-template-columns:1fr;gap:30px;padding:30px 16px}
 .gp-page-hero{height:46vh}
}

/* picture (WebP Express) */
.gp-slide-img picture,.gp-img picture,.gp-main picture,.gp-page-hero picture,.gp-th picture,.gp-form-thumb picture{display:block;width:100%;height:100%}

/* Accueil : bannières en triptyque (remplace le carrousel à légendes) */
.gp-banner{height:min(72vh,680px);background:#111}
.gp-banner-link{position:absolute;inset:0;display:block}
.gp-banner .gp-slide{display:grid;grid-template-columns:1fr 1.7fr 1fr;grid-template-rows:100%;gap:3px;background:#111}
.gp-tri{display:block;overflow:hidden;background:var(--bg2);height:100%}
.gp-tri img,.gp-tri picture{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transform:scale(1.06);transition:transform 8s ease}
.gp-banner .gp-slide.on .gp-tri img{transform:scale(1)}
.gp-banner .gp-slide:after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.12);pointer-events:none}
.gp-banner-logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(16vw,210px);z-index:2;opacity:.85;pointer-events:none;filter:brightness(0) invert(1) drop-shadow(0 2px 18px rgba(0,0,0,.35))}
.gp-banner-logo img{width:100%;height:auto}
.gp-banner .gp-dots{left:50%;right:auto;transform:translateX(-50%);bottom:24px}
.gp-banner .gp-dots i{background:rgba(255,255,255,.35)}
.gp-banner .gp-dots button.on i:after{background:#fff}

/* En-tête : logo à gauche, menu à côté (comme l'ancien site) */
.gp-h{grid-template-columns:auto 1fr auto;gap:48px}
.gp-logo{order:-1}
.gp-nav{justify-content:flex-start}
@media(max-width:900px){
 .gp-h{grid-template-columns:auto 1fr auto;gap:12px}
 .gp-burger{order:-2}
 .gp-banner{height:58vh}
 .gp-banner .gp-slide{position:absolute;inset:0;display:grid;grid-template-rows:100%;opacity:0;visibility:hidden}
 .gp-banner .gp-slide.on{opacity:1;visibility:visible}
 .gp-banner .gp-slide{grid-template-columns:1fr 1.4fr}
 .gp-banner .gp-slide .gp-tri:nth-child(3){display:none}
 .gp-banner-logo{width:38vw}
}

/* Pages simples : intertitres */
.gp-page .entry h2{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.2;margin:40px 0 12px}

/* Page GargantuArt : logo et bouton aux couleurs du partenaire */
.gp-page:has(.gp-ga-head)>h1{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.gp-page .entry .gp-ga-head{margin:0 0 32px}
.gp-page .entry .gp-ga-head{text-align:center}
.gp-page .entry .gp-ga-head a{display:inline-block;border:0}
.gp-page .entry .gp-ga-head .gp-ga-logo{margin:0 auto}
.gp-ga-logo{display:block;height:40px;width:auto;color:#1a1816}
.gp-ga-btn{display:inline-block;background:#89342d;color:#fff!important;font:500 14px var(--sans);padding:15px 30px;border:0!important}
.gp-ga-btn:hover{background:#1a1816}
@media(max-width:600px){.gp-ga-logo{height:30px}}

/* ------------------------------------------------------------------ */
/* Animations : discrètes, fluides, désactivées si l'utilisateur le demande */
/* ------------------------------------------------------------------ */
@view-transition{navigation:auto}
::view-transition-old(root),::view-transition-new(root){animation-duration:.4s;animation-timing-function:ease}
.gp-h{transition:padding .4s ease,box-shadow .4s ease}
.gp-h.is-scrolled{padding-top:11px;padding-bottom:11px;box-shadow:0 10px 30px -24px rgba(0,0,0,.45)}
.js-anim .gp-rv{opacity:0;transform:translateY(22px);transition:opacity 1s cubic-bezier(.22,.61,.36,1),transform 1s cubic-bezier(.22,.61,.36,1);transition-delay:var(--d,0s)}
.js-anim .gp-rv.in{opacity:1;transform:none}
.gp-img{overflow:hidden}
.gp-img img{transition:transform 1.2s cubic-bezier(.22,.61,.36,1)}
.gp-card:hover .gp-img img{transform:scale(1.045)}
.gp-nav a{position:relative;transition:opacity .3s ease}
.gp-nav a:after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s cubic-bezier(.22,.61,.36,1)}
.gp-nav a:hover{opacity:1}
.gp-nav a:hover:after,.gp-nav .current-menu-item>a:after,.gp-nav a[aria-current]:after{transform:scaleX(1);transform-origin:left}
.gp-btn{transition:background-color .35s ease,color .35s ease,opacity .35s ease}
.gp-btn:hover{opacity:1;background:#fff;color:#111}
.gp-btn.l:hover{background:#111;color:#fff}
.gp-main img{transition:opacity .35s ease}
.gp-main img.is-swap{opacity:0}
.gp-banner .gp-slide .gp-tri{opacity:0;transition:opacity 1.2s ease}
.gp-banner .gp-slide.on .gp-tri{opacity:1}
.gp-banner .gp-slide.on .gp-tri:nth-child(2){transition-delay:.25s}
.gp-banner .gp-slide.on .gp-tri:nth-child(3){transition-delay:.5s}
.gp-banner-logo{animation:gp-fade 1.8s ease .2s both}
@keyframes gp-fade{from{opacity:0}to{opacity:.85}}
@media (prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 .js-anim .gp-rv{opacity:1!important;transform:none!important;transition:none!important}
 .gp-h,.gp-img img,.gp-main img,.gp-banner .gp-slide .gp-tri{transition:none!important}
 .gp-banner-logo{animation:none}
}
