@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--navy:#101764;--red:#e60022;--ink:#171d3f;--muted:#686d80;--paper:#f8f8f4}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:'DM Sans',sans-serif;color:var(--ink);background:var(--paper)}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}header{height:100px;padding:0 6%;display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid #151a5e12}.brand{width:110px;height:82px;display:flex;align-items:center;justify-content:center}.brand img{height:80px;width:100px;object-fit:contain}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a:hover,.text-link:hover{color:var(--red)}.portal{font-size:13px;padding:13px 18px;border:1px solid #10176430;border-radius:6px;color:var(--navy);font-weight:700}.menu{display:none}.hero{padding:65px 6% 75px;display:grid;grid-template-columns:1.2fr 1fr;gap:35px;min-height:660px;align-items:center;overflow:hidden}.eyebrow{font-size:10px;font-weight:800;letter-spacing:2.2px;color:var(--navy);margin-bottom:24px;display:flex;gap:9px;align-items:center}.eyebrow span{height:7px;width:7px;background:var(--red);border-radius:50%}h1,h2,h3{font-family:Manrope,sans-serif;letter-spacing:-2px}h1{font-size:clamp(40px,4.3vw,67px);line-height:1.13;margin:0 0 25px;font-weight:800}em{font-style:normal;color:var(--red)}p{font-size:15px;line-height:1.8;color:var(--muted)}.hero-copy>p{max-width:480px}.buttons{display:flex;align-items:center;gap:24px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:17px 23px;border-radius:5px;font-size:13px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 9px 24px #10176418}.red{background:var(--red);color:white}.white{background:white;color:var(--navy)}.text-link{font-weight:700;font-size:12px}.hero-note{margin-top:36px;font-size:11px;color:var(--muted)}.hero-note span{color:var(--red);margin-right:8px}.hero-art{position:relative;height:460px;display:flex;align-items:center;justify-content:center}.orb{position:absolute;width:400px;height:400px;background:#eceef8;border-radius:50%}.orbit{position:absolute;width:470px;height:470px;border:1px solid #151a5e18;border-radius:50%;transform:rotate(-25deg)}.destination{position:relative;background:var(--navy);width:330px;border-radius:12px;box-shadow:15px 25px 40px #10176425;padding:32px 27px;color:white;transform:rotate(-7deg)}.destination>span{font-size:9px;letter-spacing:2px;color:#bbc2ff}.destination strong{display:block;font-family:Manrope,sans-serif;font-size:30px;line-height:1.3;letter-spacing:-1px;margin:18px 0 30px}.route{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #ffffff30;padding-top:23px}.route b{font-size:30px}.route small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:#c0c6ed}.route>span{color:#ef3851;font-size:20px}.ticket-bottom{border-top:1px dashed #ffffff40;margin-top:26px;padding-top:19px;font-size:8px;letter-spacing:1px;display:flex;justify-content:space-between}.float-card{position:absolute;right:-4px;bottom:55px;padding:18px 24px;border:1px solid #ececf2;border-radius:8px;background:white;display:flex;align-items:center;gap:15px;box-shadow:0 10px 30px #11174c10;transform:rotate(4deg)}.float-card>span{background:#e8f4ec;color:#268451;padding:8px 12px;border-radius:50%}.float-card b{font-size:12px}.float-card small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.art-label{position:absolute;bottom:4px;font-size:8px;letter-spacing:3px;color:var(--muted)}.star{position:absolute;top:0;right:18px;color:var(--red);font-size:70px}.ribbon{display:flex;justify-content:center;align-items:center;gap:45px;border-top:1px solid #10176416;border-bottom:1px solid #10176416;padding:25px 5%;font-size:13px;font-weight:600;color:var(--navy)}.ribbon b{color:var(--red)}.section{padding:90px 8%}h2{font-size:clamp(34px,3.4vw,48px);line-height:1.2;margin:0}h3{font-size:21px;letter-spacing:-.6px}.approach{display:grid;grid-template-columns:1fr 1fr;gap:80px}.large{font-size:22px;line-height:1.5;color:var(--ink);margin-top:0}.approach .text-link{display:inline-block;margin-top:15px}.services{background:#fff}.section-head{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:48px}.section-head>p{max-width:320px;font-size:14px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #e5e7f0}.service-grid article{padding:26px 24px 30px;position:relative;border-right:1px solid #e5e7f0}.service-grid article:last-child{border:0}.number{font-size:10px;color:#9599ac;position:absolute;right:22px;top:26px}.service-icon{color:var(--red);font-size:35px;margin:14px 0 28px}.service-grid h3{font-size:19px;line-height:1.4;min-height:54px}.service-grid p{font-size:12px;min-height:110px}.tag{font-size:9px;letter-spacing:.6px;color:var(--navy);border-top:1px solid #ededf2;display:block;padding-top:20px}.disclaimer{font-size:10px;margin-top:20px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:60px}.steps article{border-top:1px solid #d8dbe6;padding-top:25px}.steps article>span{display:flex;align-items:center;justify-content:center;background:var(--navy);color:white;border-radius:50%;width:31px;height:31px;font-size:11px;margin-top:-41px;border:5px solid var(--paper);box-sizing:content-box}.steps h3{font-size:17px;margin-top:25px}.steps p{font-size:13px}.portal-section{margin:0 4%;padding:70px 6%;background:var(--navy);color:white;display:grid;grid-template-columns:1fr 1fr;gap:90px;border-radius:12px}.portal-section .eyebrow{color:#aeb6ff}.portal-section em{color:#b8c0ff}.portal-section p{color:#c6cbea;font-size:14px;max-width:440px}.portal-section .button{margin-top:20px}.portal-preview{background:#f9fafc;color:var(--ink);border-radius:10px;padding:28px;transform:rotate(2deg);box-shadow:10px 18px #ffffff10}.preview-top{font-size:8px;color:var(--navy);display:flex;justify-content:space-between;letter-spacing:1px;border-bottom:1px solid #dddfea;padding-bottom:16px}.portal-preview h3{font-size:20px}.preview-row{padding:12px 8px;display:flex;align-items:center;gap:12px;font-size:12px;border-bottom:1px solid #eaecf2}.preview-row i{font-style:normal;color:#359567}.preview-row.active{background:#e8eafa;border-radius:5px;color:var(--navy)}.preview-row.active i{color:var(--navy)}.muted{color:#999eaf}.portal-preview>small{display:block;margin-top:20px;color:#969aac;font-size:9px}.faq{display:grid;grid-template-columns:1fr 1.3fr;gap:90px}details{border-bottom:1px solid #dfe1e9;padding:22px 0}summary{cursor:pointer;list-style:none;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:20px}summary:after{content:'+';color:var(--red)}details[open] summary:after{content:'−'}details p{font-size:13px}.contact{text-align:center;background:#eeeff7;padding-top:70px;padding-bottom:75px}.contact .eyebrow{justify-content:center}.contact h2{font-size:clamp(37px,4.5vw,60px)}.contact p{font-size:14px;margin:25px 0}.contact small{display:block;margin-top:16px;font-size:10px;color:var(--muted)}footer{padding:35px 8% 20px;background:white}.footer-main{display:flex;align-items:center;gap:45px}.footer-main p{font-size:12px}.footer-main>a:last-child{margin-left:auto;font-size:12px;font-weight:700}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #ececf2;margin-top:25px;padding-top:22px;color:#83889a;font-size:10px}@media(min-width:1500px){body{max-width:1600px;margin:auto}}@media(max-width:1000px){nav{gap:16px}.hero{gap:10px}.hero-art{transform:scale(.85)}.buttons{flex-wrap:wrap}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{border-bottom:1px solid #e5e7f0}.service-grid article:nth-child(2){border-right:0}.service-grid article p{min-height:65px}.approach,.faq{gap:40px}.portal-section{gap:35px}.ribbon{gap:20px;font-size:11px}}@media(max-width:700px){header{height:82px;padding:0 5%;position:relative}.brand{width:84px;height:70px}.brand img{width:80px;height:70px}.portal{font-size:10px;padding:10px}.menu{display:block;border:0;background:none;color:var(--navy);font-size:22px}nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--paper);padding:25px;z-index:10;box-shadow:0 15px 20px #10176415}nav.open{display:flex;flex-direction:column;gap:22px}.hero{grid-template-columns:1fr;padding:45px 6% 35px}.hero h1{font-size:43px}.hero-copy>p{font-size:14px}.hero-art{height:390px;transform:scale(.85);margin:-10px -15px}.hero-note{margin-top:25px}.ribbon{flex-wrap:wrap;gap:13px 18px;padding:20px 5%}.ribbon b:nth-of-type(2){display:none}.section{padding:60px 6%}.approach,.faq{grid-template-columns:1fr;gap:30px}.large{font-size:20px}.section-head{display:block;margin-bottom:30px}.section-head>p{max-width:none;margin-top:25px}.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;padding:20px 25px}.service-grid article p,.service-grid article h3{min-height:0}.service-grid article h3{margin:10px 0}.service-icon{margin:5px 0 12px}.tag{padding-top:15px}.steps{grid-template-columns:1fr 1fr;gap:45px 22px}.steps h3{font-size:16px}.portal-section{margin:0 4%;padding:45px 7%;grid-template-columns:1fr;gap:35px}.portal-preview{padding:22px;transform:none}.contact h2{font-size:36px}.footer-main{flex-wrap:wrap;gap:10px 25px}.footer-main>a:last-child{margin-left:0;width:100%;margin-top:15px}.footer-bottom{gap:15px;flex-wrap:wrap}.eyebrow{font-size:9px}h2{font-size:36px}}

/* Photographies de Paris */
.hero{position:relative;background-image:linear-gradient(90deg,rgba(248,248,244,.99) 0%,rgba(248,248,244,.96) 33%,rgba(248,248,244,.72) 50%,rgba(248,248,244,.08) 75%),url('assets/paris-eiffel.jpg');background-size:cover;background-position:center,center 48%;min-height:690px}.hero-copy{position:relative;z-index:1}.hero-art{height:480px;align-items:flex-end;justify-content:flex-end}.photo-caption{color:white;text-shadow:0 2px 12px #0009;border-left:2px solid #e60022;padding:4px 0 4px 18px;margin-bottom:5px;align-self:flex-end}.photo-caption span{font-size:8px;letter-spacing:1.6px}.photo-caption strong{display:block;font-size:20px;margin:9px 0;font-family:Manrope,sans-serif}.photo-caption small{font-size:11px}.portal-section{background-image:linear-gradient(90deg,rgba(16,23,100,.96),rgba(16,23,100,.75)),url('assets/paris-panorama.jpg');background-size:cover;background-position:center}.contact{background-image:linear-gradient(rgba(248,248,244,.85),rgba(248,248,244,.9)),url('assets/paris-louvre.jpg');background-size:cover;background-position:center 54%}.contact h2{position:relative}.contact .eyebrow{color:var(--navy)}
@media(max-width:1000px){.hero-art{transform:none}.hero{background-position:center,60% center}.photo-caption{margin-right:15px}}
@media(max-width:700px){.hero{background-image:linear-gradient(180deg,rgba(248,248,244,.98) 0%,rgba(248,248,244,.94) 48%,rgba(248,248,244,.08) 78%),url('assets/paris-eiffel.jpg');background-position:center,65% center;min-height:900px;padding-bottom:25px}.hero-art{height:310px;margin:0;transform:none}.photo-caption{margin:0 5px 0 0}.portal-section{background-position:40% center}.contact{background-position:52% center}}

/* Identité Jigi Campus et contact direct */
:root{--navy:#080b82;--red:#e40024}.contact-strip{padding:10px 6%;background:var(--navy);color:#fff;display:flex;justify-content:space-between;gap:20px;font-size:10px}.contact-strip>span{color:#d9dcff}.contact-strip>div{display:flex;gap:25px}.contact-strip a:hover{color:#ffafbb}header{height:112px;border-bottom:3px solid var(--red);position:relative;z-index:5;box-shadow:0 4px 25px #080b8208}.brand{width:140px;height:105px}.brand img{width:132px;height:105px}.portal{background:var(--navy);color:white;border-color:var(--navy);border-radius:10px}.portal:hover{background:var(--red);border-color:var(--red)}nav{gap:24px}.hero{padding-top:35px;padding-bottom:55px;min-height:740px}.hero-brand{display:flex;gap:15px;align-items:center;margin-bottom:22px}.hero-brand img{width:78px;height:78px;object-fit:contain}.hero-brand span{font-size:11px;line-height:1.6;color:var(--navy);padding-left:15px;border-left:2px solid var(--red)}.hero .eyebrow{margin-bottom:18px}h1{font-size:clamp(40px,4.1vw,64px)}.button{border-radius:12px}.ribbon{background:var(--navy);color:white;border:0;padding-top:28px;padding-bottom:28px}.ribbon b{color:#ff6177}.brand-story{display:flex;align-items:center;gap:35px;margin:45px 6% 0;padding:35px 40px;background:linear-gradient(120deg,#fff,#edeefd);border:1px solid #080b8212;border-radius:24px;position:relative;overflow:hidden}.brand-story:before{content:'';position:absolute;top:0;bottom:0;left:0;width:5px;background:var(--red)}.brand-seal{width:155px;height:155px;flex-shrink:0;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 35px #080b8210}.brand-seal img{width:135px;height:135px;object-fit:contain}.brand-story h2{font-size:30px;letter-spacing:-1px}.brand-story p{font-size:12px;max-width:440px}.brand-story .eyebrow{font-size:8px;margin-bottom:12px}.brand-story>.button{margin-left:auto;flex-shrink:0}.services{background:linear-gradient(180deg,#f0f1fb,#fff)}.service-grid{border:0;gap:18px}.service-grid article{background:white;border:1px solid #080b8214!important;border-radius:18px;box-shadow:0 9px 26px #080b8206;transition:transform .25s,box-shadow .25s;overflow:hidden}.service-grid article:before{content:'';position:absolute;left:0;top:0;right:0;height:4px;background:var(--navy)}.service-grid article:nth-child(even):before{background:var(--red)}.service-grid article:hover{transform:translateY(-7px);box-shadow:0 16px 32px #080b8212}.service-icon{background:#edeefe;border-radius:14px;width:58px;height:58px;display:flex;align-items:center;justify-content:center}.service-grid article:nth-child(even) .service-icon{background:#fff0f3}.tag{color:var(--navy);font-weight:600}.steps article:nth-child(even)>span{background:var(--red)}.portal-section{border-radius:24px;box-shadow:0 20px 50px #080b8215}.portal-preview{border-radius:18px}.direct-contact{background:#fff}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{display:flex;align-items:center;gap:22px;border-radius:20px;padding:30px;position:relative;transition:transform .2s,box-shadow .2s;min-width:0}.contact-card:hover{transform:translateY(-5px);box-shadow:0 14px 30px #080b8215}.email-card{background:var(--navy);color:white}.whatsapp-card{background:#edf8f1;color:#115936;border:1px solid #d3eade}.contact-symbol{width:58px;height:58px;display:flex;align-items:center;justify-content:center;background:#ffffff20;border-radius:16px;font-size:29px;flex-shrink:0}.whatsapp-card .contact-symbol{background:#d5efdf}.contact-card small{font-size:8px;letter-spacing:1.8px;opacity:.7}.contact-card h3{margin:8px 0;font-size:23px}.contact-card p{color:inherit;font-size:14px;margin:0;overflow-wrap:anywhere}.contact-arrow{font-size:24px;margin-left:auto}.contact{border-top:4px solid var(--red)}.footer-main .brand{width:145px}.footer-main .brand img{width:140px;height:115px}.floating-contact{position:fixed;bottom:22px;right:22px;background:var(--navy);border:1px solid #ffffff50;color:white;padding:14px 19px;border-radius:50px;z-index:20;font-size:11px;box-shadow:0 7px 28px #080b8230;display:flex;align-items:center;gap:9px}.floating-contact>span{color:#78eaa6;font-size:20px}.floating-contact:hover{background:var(--red)}
@media(max-width:1100px){.brand-story{flex-wrap:wrap}.brand-story>.button{margin-left:190px}.contact-card{padding:23px;gap:15px}.contact-card p{font-size:12px}.contact-symbol{width:45px;height:45px}nav{gap:15px}}
@media(max-width:700px){.contact-strip{padding:9px 5%;font-size:9px}.contact-strip>span{display:none}.contact-strip>div{width:100%;justify-content:space-between;gap:10px}header{height:95px}.brand{width:105px;height:90px}.brand img{width:105px;height:88px}nav{top:94px}.hero{padding-top:30px;min-height:1000px;background-image:linear-gradient(180deg,rgba(248,248,244,.98) 0%,rgba(248,248,244,.94) 55%,rgba(248,248,244,.08) 80%),url('assets/paris-eiffel.jpg')}.hero-brand{margin-bottom:25px}.hero-brand img{width:67px;height:67px}.brand-story{margin:28px 5% 0;padding:28px 25px;gap:20px}.brand-seal{width:100px;height:100px}.brand-seal img{width:90px;height:90px}.brand-story>div:nth-child(2){flex:1;min-width:180px}.brand-story h2{font-size:25px}.brand-story>.button{margin-left:0}.contact-grid{grid-template-columns:1fr;gap:15px}.contact-card{padding:24px}.contact-card p{font-size:14px}.contact-card h3{font-size:22px}.floating-contact{right:14px;bottom:14px;padding:11px 15px;font-size:10px}.service-grid{gap:15px}.footer-bottom{padding-bottom:55px}}

.tiktok-banner{margin-top:22px;padding:26px 30px;display:flex;align-items:center;gap:22px;border:1px solid #e0e1f0;border-radius:20px;background:#f6f6fc;color:var(--navy)}.tiktok-banner:hover{border-color:var(--red)}.tiktok-symbol{font-size:38px;color:var(--red);width:58px;text-align:center;flex-shrink:0}.tiktok-banner small{font-size:8px;letter-spacing:1.5px}.tiktok-banner h3{font-size:22px;margin:8px 0}.tiktok-banner p{font-size:12px;margin:0}.footer-bottom{flex-wrap:wrap;gap:15px}@media(max-width:700px){.tiktok-banner{padding:23px;gap:13px}.tiktok-symbol{width:30px}.tiktok-banner h3{font-size:19px}.tiktok-banner small{font-size:7px}.tiktok-banner p{font-size:11px}}
