/* Page « Fiduciaire pour frontaliers et nouveaux arrivants » (fiduciaire-frontalier-geneve.html) : composants propres à la page, sur les tokens de site.css. */
.gv-cta{margin-top:30px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.gv-facts{list-style:none;padding:0;margin:clamp(32px,4vw,48px) 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.gv-facts li{padding:22px 24px;border-radius:24px;background:rgb(var(--primary)/.06);box-shadow:inset 0 0 0 1px rgb(var(--primary)/.14)}
.gv-facts b{display:block;font:600 clamp(26px,3vw,36px)/1.05 var(--f-display);letter-spacing:-.03em;color:var(--kick)}
.gv-facts span{display:block;margin-top:8px;font-size:15.5px;line-height:1.45;color:var(--ink-2)}
.gv-sec{padding-top:clamp(56px,8vw,104px)}
.gv-h2{max-width:20ch;margin:16px 0 clamp(22px,3vw,36px);font:600 clamp(30px,4.4vw,56px)/1.06 var(--f-display);letter-spacing:-.035em;text-wrap:balance}
.gv-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.gv-card{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,3vw,34px);border-radius:30px}
.gv-n{font:600 .8rem/1 var(--f-mono);letter-spacing:.1em;color:var(--kick)}
.gv-card h3{font:600 clamp(22px,2.2vw,28px)/1.12 var(--f-display);letter-spacing:-.025em;text-wrap:balance}
.gv-card p{font-size:16.5px;line-height:1.5;color:var(--ink-2)}
.gv-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px}
.gv-card li{position:relative;padding-left:20px;font-size:15.5px;line-height:1.45;color:var(--ink-2)}
.gv-card li::before{content:"";position:absolute;left:3px;top:.6em;width:7px;height:7px;border-radius:50%;background:rgb(var(--primary))}
.gv-card .go{margin-top:auto;padding-top:10px}
.gv-card.glass-deep h3{color:#fff}
.gv-card.glass-deep p,.gv-card.glass-deep li{color:var(--on-dark-2)}
.gv-card.glass-deep .gv-n,.gv-card.glass-deep .go{color:#8fc6ff}
.gv-card.glass-deep li::before{background:#8fc6ff}
.gv-checks{list-style:none;counter-reset:gvc;margin:0;padding:0}
.gv-checks li{counter-increment:gvc;position:relative;padding:22px 0 22px 62px;box-shadow:inset 0 -1px 0 rgb(11 26 48/.10)}
.gv-checks li:last-child{box-shadow:none}
.gv-checks li::before{content:counter(gvc);position:absolute;left:0;top:20px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font:600 16px/1 var(--f-display);color:#fff;background:linear-gradient(180deg,rgb(0 112 224),rgb(0 92 188))}
.gv-checks h3{font:600 clamp(19px,1.8vw,22px)/1.25 var(--f-display);letter-spacing:-.02em}
.gv-checks p{margin-top:8px;max-width:72ch;font-size:17px;line-height:1.6;color:var(--ink-2)}
.gv-note{margin-top:20px;padding:16px 20px;border-radius:18px;background:rgb(255 255 255/.72);font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.gv-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.gv-steps li{padding:26px 24px 28px;border-radius:26px;background:rgb(245 245 247/.9);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgb(0 0 0/.04)}
.gv-when{display:inline-block;padding:7px 12px;border-radius:999px;font:600 .72rem/1 var(--f-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--kick);background:rgb(var(--primary)/.08)}
.gv-steps h3{margin-top:16px;font:600 22px/1.15 var(--f-display);letter-spacing:-.02em}
.gv-steps p{margin-top:8px;font-size:15.5px;line-height:1.5;color:var(--ink-2)}
.gv-faq{display:flex;flex-direction:column;gap:10px;max-width:880px}
.gv-faq details{border-radius:22px;background:rgb(245 245 247/.9);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgb(0 0 0/.04)}
.gv-faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:18px 24px;font:600 18px/1.35 var(--f-display);letter-spacing:-.01em}
.gv-faq summary::-webkit-details-marker{display:none}
.gv-faq summary::after{content:"+";flex:none;font:400 28px/1 var(--f-display);color:var(--kick);transition:transform .3s var(--ease)}
.gv-faq details[open] summary::after{transform:rotate(45deg)}
.gv-faq details p{padding:0 24px 22px;max-width:72ch;font-size:16.5px;line-height:1.6;color:var(--ink-2)}
.gv-faq details a{color:var(--kick);text-decoration:underline}
.gv-contact{padding-top:clamp(64px,9vw,120px)}
.gv-src h2{font:600 .8rem/1.4 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}
.gv-src p{margin-top:10px;max-width:72ch;font-size:14.5px;line-height:1.5;color:var(--ink-3)}
.gv-src ul{margin:12px 0 0;padding-left:18px;columns:2;column-gap:32px}
.gv-src li{margin-bottom:6px;font-size:14.5px;line-height:1.5;color:var(--ink-3);break-inside:avoid}
.gv-src a{color:var(--ink-2);text-decoration:underline;text-decoration-color:rgb(0 0 0/.25)}
.gv-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:14px;color:var(--ink-3)}
.gv-crumb a{color:var(--ink-2)}
.gv-crumb a:hover{text-decoration:underline}
.gv-intro{max-width:72ch;margin:-6px 0 6px;font-size:18px;line-height:1.6;color:var(--ink-2)}
.gv-steps3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gv-sec>.gv-note{margin-top:28px;max-width:880px;background:rgb(var(--primary)/.06)}
@media (max-width:980px){.gv-cards{grid-template-columns:1fr}.gv-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.gv-facts{grid-template-columns:1fr}.gv-src ul{columns:1}}
@media (max-width:600px){.gv-steps{grid-template-columns:1fr}.gv-checks li{padding-left:46px}.gv-checks li::before{top:22px;width:32px;height:32px;font-size:14px}.gv-cta .btn{width:100%;height:auto;min-height:48px;padding-block:12px;white-space:normal;text-align:center}.gv-contact .contact-l .btn{width:100%;white-space:normal}}
