:root { --guide-navy:#071a34; --guide-blue:#1646a0; --guide-orange:#f97316; --guide-ink:#10243e; --guide-muted:#607086; }
body.guide-page { background:#f4f7fb; color:var(--guide-ink); }
body.guide-page header { border-bottom:1px solid rgba(15,39,71,.08); box-shadow:0 8px 30px rgba(7,26,52,.08); }
body.guide-page main > section:first-child { position:relative; isolation:isolate; overflow:hidden; min-height:620px; display:flex; align-items:center; background:var(--guide-navy)!important; }
body.guide-page main > section:first-child::before { content:""; position:absolute; inset:0; z-index:-2; background:linear-gradient(90deg,rgba(5,20,42,.97) 0%,rgba(12,40,83,.9) 47%,rgba(12,40,83,.35) 100%),var(--guide-hero) center/cover no-repeat; }
body.guide-page main > section:first-child::after { content:""; position:absolute; z-index:-1; width:560px; height:560px; right:-190px; bottom:-340px; border:1px solid rgba(255,255,255,.16); border-radius:50%; box-shadow:0 0 0 68px rgba(255,255,255,.035),0 0 0 136px rgba(255,255,255,.025); }
body.guide-page main > section:first-child > .container { padding-top:clamp(92px,11vw,140px)!important; padding-bottom:clamp(72px,9vw,110px)!important; }
body.guide-page main > section:first-child .grid { grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); }
body.guide-page main > section:first-child h1 { max-width:760px; font-size:clamp(42px,5vw,70px); letter-spacing:-.045em; line-height:1.02; text-wrap:balance; }
body.guide-page main > section:first-child p { max-width:650px; line-height:1.7; }
body.guide-page main > section:first-child img { height:460px!important; border:8px solid rgba(255,255,255,.13); border-radius:28px!important; box-shadow:0 30px 70px rgba(0,0,0,.38)!important; transform:rotate(1.5deg); }
body.guide-page main > section:first-child a { min-height:52px; display:inline-flex; align-items:center; justify-content:center; border-radius:14px!important; transition:transform .2s ease,box-shadow .2s ease,background .2s ease; }
body.guide-page main > section:first-child a:hover { transform:translateY(-3px); box-shadow:0 15px 28px rgba(0,0,0,.2); }
.guide-switcher { position:relative; z-index:5; margin-top:-42px; padding:0 16px; }
.guide-switcher__inner { width:min(1180px,100%); margin:auto; padding:24px; border:1px solid rgba(213,224,237,.9); border-radius:24px; background:rgba(255,255,255,.96); box-shadow:0 22px 52px rgba(7,26,52,.14); backdrop-filter:blur(16px); }
.guide-switcher__head { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:17px; }
.guide-switcher__eyebrow { display:block; margin-bottom:5px; color:var(--guide-orange); font-size:12px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.guide-switcher h2 { margin:0; color:var(--guide-ink); font-size:clamp(22px,2vw,29px); font-weight:850; letter-spacing:-.025em; }
.guide-switcher__hint { margin:0; color:var(--guide-muted); font-size:13px; }
.guide-switcher__links { display:flex; gap:9px; overflow-x:auto; padding:2px 2px 9px; scroll-snap-type:x proximity; scrollbar-width:thin; }
.guide-switcher__links a { flex:0 0 auto; display:inline-flex; min-height:44px; align-items:center; gap:8px; padding:10px 14px; border:1px solid #dce5ef; border-radius:12px; background:#f8fafc; color:#243b5a; font-size:13px; font-weight:800; text-decoration:none; scroll-snap-align:start; transition:transform .18s ease,border-color .18s ease,color .18s ease,background .18s ease; }
.guide-switcher__links a i { color:var(--guide-orange); }
.guide-switcher__links a:hover { transform:translateY(-2px); border-color:#8fb0dc; background:#eff6ff; color:#1646a0; }
.guide-switcher__links a[aria-current="page"] { border-color:var(--guide-blue); background:var(--guide-blue); color:#fff; box-shadow:0 9px 20px rgba(22,70,160,.2); }
.guide-switcher__links a[aria-current="page"] i { color:#fdba74; }
body.guide-page #gallery { padding-top:92px!important; padding-bottom:80px!important; background:linear-gradient(180deg,#f4f7fb,#fff)!important; }
body.guide-page #gallery h2 { color:var(--guide-ink)!important; font-size:clamp(31px,3.5vw,46px)!important; letter-spacing:-.035em; }
body.guide-page #gallery .grid { grid-template-columns:repeat(12,minmax(0,1fr)); grid-auto-rows:210px; gap:14px; }
body.guide-page #gallery .grid img { grid-column:span 4; width:100%; height:100%!important; border-radius:20px!important; box-shadow:0 14px 32px rgba(7,26,52,.13)!important; transition:transform .35s ease,box-shadow .35s ease; }
body.guide-page #gallery .grid img:first-child { grid-column:span 8; grid-row:span 2; }
body.guide-page #gallery .grid img:nth-child(4) { grid-column:span 5; }
body.guide-page #gallery .grid img:nth-child(5) { grid-column:span 7; }
body.guide-page #gallery .grid img:hover { transform:translateY(-5px) scale(1.01); box-shadow:0 22px 46px rgba(7,26,52,.2)!important; }
body.guide-page #services { padding:88px 0!important; }
body.guide-page #services .max-w-5xl { max-width:1050px; }
body.guide-page #services .mb-10 { padding:clamp(24px,3vw,36px); border:1px solid #e0e7f0; border-radius:20px; background:#fff; box-shadow:0 12px 30px rgba(7,26,52,.06); }
body.guide-page #services h2 { border-left:0!important; padding-left:0!important; font-size:clamp(24px,2.6vw,34px)!important; letter-spacing:-.025em; }
body.guide-page #services h2::before { content:""; display:block; width:48px; height:4px; margin-bottom:17px; border-radius:9px; background:linear-gradient(90deg,var(--guide-orange),#fbad72); }
body.guide-page details { border:1px solid #dde6f0!important; border-left:4px solid #d7e0eb!important; border-radius:14px!important; box-shadow:0 8px 22px rgba(7,26,52,.05); }
body.guide-page details[open] { border-left-color:var(--guide-orange)!important; }
body.guide-page main > section:not(:first-child):not(#gallery):not(#services):not(#devis) .bg-white,
body.guide-page main > section:not(:first-child):not(#gallery):not(#services):not(#devis) [class*="rounded-xl"] { border-radius:18px!important; box-shadow:0 10px 28px rgba(7,26,52,.07); }
body.guide-page main > section h2 { color:var(--guide-ink); letter-spacing:-.025em; }
body.guide-page main > section h2.border-l-4 { border-left:0!important; padding-left:0!important; }
body.guide-page main > section h2.border-l-4::before { content:""; display:block; width:48px; height:4px; margin-bottom:16px; border-radius:99px; background:var(--guide-orange); }
body.guide-page main > section .grid > [class*="shadow-sm"] { border-color:#e0e7f0!important; box-shadow:0 10px 28px rgba(7,26,52,.07)!important; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
body.guide-page main > section .grid > [class*="shadow-sm"]:hover { transform:translateY(-4px); border-color:#bfcee1!important; box-shadow:0 18px 38px rgba(7,26,52,.12)!important; }
body.guide-page #devis { position:relative; overflow:hidden; padding:90px 0!important; background:linear-gradient(140deg,#071a34,#123a78)!important; color:#fff; }
body.guide-page #devis h2,body.guide-page #devis p { color:#fff!important; }
body.guide-page #devis form { border:1px solid rgba(255,255,255,.15)!important; border-radius:22px!important; background:#fff!important; color:var(--guide-ink); box-shadow:0 28px 60px rgba(0,0,0,.25); }
@media(max-width:900px) { body.guide-page main > section:first-child .grid { grid-template-columns:1fr; } body.guide-page main > section:first-child img { height:330px!important; transform:none; } .guide-switcher { margin-top:-28px; } body.guide-page #gallery .grid { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-rows:190px; } body.guide-page #gallery .grid img,body.guide-page #gallery .grid img:first-child,body.guide-page #gallery .grid img:nth-child(4),body.guide-page #gallery .grid img:nth-child(5) { grid-column:span 1; grid-row:span 1; } body.guide-page #gallery .grid img:first-child { grid-column:span 2; grid-row:span 2; } }
@media(max-width:560px) { body.guide-page main > section:first-child { min-height:auto; } body.guide-page main > section:first-child h1 { font-size:39px; } body.guide-page main > section:first-child img { height:270px!important; } .guide-switcher__inner { padding:19px 16px; border-radius:19px; } .guide-switcher__head { display:block; } .guide-switcher__hint { margin-top:6px; } body.guide-page #gallery .grid { grid-auto-rows:150px; gap:9px; } body.guide-page #services { padding:62px 0!important; } }
@media(prefers-reduced-motion:reduce) { body.guide-page main > section:first-child a,.guide-switcher__links a,body.guide-page #gallery .grid img { transition:none; } body.guide-page main > section:first-child a:hover,.guide-switcher__links a:hover,body.guide-page #gallery .grid img:hover { transform:none; } }
