:root{--bg: #0f3954;--bg-alt: #05335a;--primary: #ffffff;--primary-strong: #05335a;--text: #f9fafb;--muted: #cbd5f5;--card-light: #e5edf5;--card-border-light: rgba(255, 255, 255, .75)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:linear-gradient(180deg,#0f3954,#114c68 55%,#155774);color:var(--text)}.app{min-height:100vh}.reveal-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 3rem}.header{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fff;border-bottom:1px solid rgba(15,23,42,.08)}.header-content{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}.logo{font-weight:700;letter-spacing:.08em;font-size:.98rem;text-transform:uppercase;padding:0;border-radius:0;border:none}.logo img{display:block;height:32px}.nav{display:flex;gap:1.25rem;font-size:.9rem}.nav a{color:#05335a;text-decoration:none;padding:.5rem .8rem;border-radius:8px;transition:all .2s ease-out;position:relative}.nav a:hover{color:#0f3954;background:#0f395414}.hamburger{display:none;flex-direction:column;gap:5px;background:transparent;border:none;cursor:pointer;padding:.5rem;z-index:1001}.hamburger span{display:block;width:28px;height:4px;background:#05335a;border-radius:2px;transition:all .3s ease}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.nav-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 1024px){.container{padding:0 2.5rem}}@media (max-width: 768px){.hamburger{display:flex}.nav{position:fixed;top:0;right:-100%;height:100vh;width:280px;background:#fff;flex-direction:column;padding:5rem 2rem 2rem;gap:1.5rem;box-shadow:-2px 0 10px #0000001a;transition:right .3s ease;z-index:1000}.nav.nav-open{right:0}.nav a{color:#05335a;font-size:1.1rem;padding:.8rem 1rem;border-radius:8px;width:100%}.nav a:hover{background:#0f395414}.logo img{height:28px}.container{padding:0 1.5rem}}.hero{padding:3.5rem 0 2.8rem}.hero-content{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:2.8rem;align-items:center}.hero h1{font-size:clamp(2.1rem,3vw,2.6rem);line-height:1.1;margin-bottom:1rem}.hero p{color:var(--muted);max-width:34rem;font-size:.97rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}.hero-highlight{border-radius:24px;border:2px solid var(--card-border-light);background:linear-gradient(180deg,#eff6ffe6,#d1d5dbe6);padding:1.4rem 1.6rem;color:#111827;font-size:.95rem}.hero-highlight-image{padding:0;overflow:hidden}.hero-highlight-image img{display:block;width:100%;height:100%;object-fit:cover}.btn{border-radius:999px;padding:.7rem 1.25rem;font-size:.9rem;border:1px solid transparent;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.btn-primary{background:#fff;color:var(--primary-strong);font-weight:600;border-color:#fff}.btn-secondary{background:transparent;border-color:#ffffffb3;color:#e5e7eb}.section{padding:2.8rem 0;position:relative;z-index:1}.section-alt{background:#05335ad9}.section h2{font-size:1.4rem;margin-bottom:.5rem}.section-intro{color:var(--muted);max-width:32rem;margin-bottom:1.5rem;font-size:.95rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.card{background:linear-gradient(180deg,var(--card-light),#cbd5e1);border-radius:20px;border:2px solid var(--card-border-light);padding:1.4rem 1.5rem;color:#111827;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.card h3{font-size:1.05rem;margin-bottom:.4rem}.card p{color:#1f2933;font-size:.92rem}.projects-carousel{display:flex;align-items:center;gap:2.5rem}.projects-viewport{flex:1;overflow:hidden;position:relative;padding:.5rem 0;margin:-.5rem 0}.projects-track{display:flex;transition:transform .28s ease-out;margin-left:0}.projects-track .project-card{flex-shrink:0;width:calc((100% / 3) - .6rem);margin-right:.9rem;box-sizing:border-box}.carousel-arrow{background:transparent;border:1px solid rgba(249,250,251,.7);color:#f9fafb;border-radius:999px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.4rem;transition:background .15s ease-out,transform .15s ease-out}.carousel-arrow:hover{background:#f9fafb1f;transform:translateY(-1px)}.carousel-arrow-left{margin-right:.25rem}.carousel-arrow-right{margin-left:.25rem}@media (max-width: 900px){.projects-carousel{flex-direction:row;align-items:center;position:relative}.projects-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;padding-bottom:1rem;margin-bottom:-1rem}.projects-viewport::-webkit-scrollbar{display:none}.projects-track{transform:none!important;transition:none!important;width:max-content;gap:1.2rem;padding:.5rem 1rem}.projects-track .project-card{flex:0 0 85vw;scroll-snap-align:center}.carousel-arrow{display:none}}.project-card{padding-top:.9rem}.project-image-wrapper{margin:-.5rem -.5rem .9rem;border-radius:16px;overflow:hidden;position:relative;cursor:pointer}.project-image-wrapper img{display:block;width:100%;height:160px;object-fit:cover;transition:transform .25s ease-out}.project-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffff59;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease-out}.project-image-wrapper:hover .project-image-overlay{opacity:1}.project-card:hover{transform:translateY(-4px);box-shadow:0 18px 30px #0f172a59;border-color:#fffffff2}.project-card:hover .project-image-wrapper img{transform:scale(1.03)}.zoom-icon{font-size:1.8rem;color:#05335a}.zoom-icon svg{width:28px;height:28px;display:block}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;display:flex;align-items:center;justify-content:center;z-index:9999;animation:lightbox-fade .18s ease-out}.lightbox-content{position:relative;max-width:800px;width:90%;background:#0b1726;border-radius:18px;padding:1.2rem 1.4rem 1.4rem;animation:lightbox-zoom .18s ease-out}.lightbox-content img{display:block;width:100%;max-height:70vh;object-fit:contain;border-radius:12px}.lightbox-close{position:absolute;top:.4rem;right:.7rem;background:transparent;border:none;color:#e5e7eb;font-size:1.6rem;cursor:pointer}.lightbox-caption{margin-top:.7rem;text-align:center;color:#e5e7eb;font-size:.95rem}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}@keyframes lightbox-zoom{0%{opacity:0;transform:scale(.96) translateY(4px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes slide-left{0%{transform:translate(12px);opacity:.4}to{transform:translate(0);opacity:1}}@keyframes slide-right{0%{transform:translate(-12px);opacity:.4}to{transform:translate(0);opacity:1}}.contact-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr);gap:2rem;align-items:flex-start}.contact-infos{list-style:none;margin-top:1rem;color:var(--muted)}.contact-infos li+li{margin-top:.35rem}.contact-form{background:#020617;border-radius:16px;border:1px solid var(--border);padding:1.4rem 1.3rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}.field label{font-size:.86rem;color:#e5e7eb}input,textarea{border-radius:10px;border:1px solid #1e293b;background:#020617;color:var(--text);padding:.55rem .7rem;font-size:.9rem}input:focus,textarea:focus{outline:1px solid rgba(250,204,21,.8);border-color:#facc15d9}.full-width{width:100%}.footer{padding:1.5rem 0 1.8rem;border-top:1px solid #020617;position:relative;z-index:1}.footer-content{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.footer-link{color:var(--muted);text-decoration:underline;text-decoration-color:#cbd5f566;transition:all .2s ease}.footer-link:hover{color:#fff;text-decoration-color:#fff}.pricing-section{padding:3rem 0;background:linear-gradient(180deg,#0f3954,#114c68 60%,#155774);position:relative;z-index:1}.pricing-title-main{text-align:center;font-size:1.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:2rem}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.8rem}.pricing-card{display:flex;justify-content:center}.pricing-card-inner{width:100%;border-radius:24px;border:2px solid rgba(255,255,255,.9);background:linear-gradient(180deg,#f9fafbfa,#e5e7ebf5);padding:1.8rem 1.7rem;color:#111827}.pricing-card-title{text-align:center;font-size:1.1rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:1.2rem}.pricing-separator{height:1px;background:#94a3b8b3;margin-bottom:1.1rem}.pricing-list{list-style:none;display:flex;flex-direction:column;gap:.55rem}.pricing-row{display:flex;justify-content:space-between;gap:1rem;font-size:.95rem;align-items:flex-start}.pricing-label{color:#111827;flex:0 0 auto;max-width:45%}.pricing-price{color:#111827;text-align:right;flex:1 1 auto;font-weight:500}.pricing-note{margin-top:1.8rem;text-align:center;font-size:.85rem;color:#e5e7ebe6}.offers-section{padding:3rem 0 2.8rem;background:#f9fafb;position:relative;z-index:1}.offers-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.8rem}.offer-card{border-radius:24px;padding:2.2rem 1.8rem;text-align:center}.offer-card-dark{background:#05335a;color:#f9fafb}.offer-card-light{background:#fff;border:1px solid #d1d5db;color:#05335a}.offer-title{font-size:1.4rem;margin-bottom:1.2rem}.offer-percent{font-size:3rem;font-weight:700;margin-bottom:1.1rem}.offer-pill{display:inline-block;padding:.4rem 1.2rem;border-radius:999px;border:2px solid currentColor;font-size:.95rem}@media (max-width: 768px){.header-content{padding-inline:0}.nav{gap:.9rem;font-size:.85rem}.hero-content{grid-template-columns:minmax(0,1fr)}.hero{padding-top:2.8rem}.contact-grid{grid-template-columns:minmax(0,1fr)}.pricing-card-inner{padding-inline:1.3rem}}@media (min-width: 1024px){.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.book-page{min-height:100vh;padding-bottom:4rem}.book-page .section{padding-top:2.2rem}.section-header{margin-bottom:3rem;text-align:center}.book-header{max-width:760px;margin:0 auto 2.2rem}.book-header h2{font-size:clamp(2rem,3vw,2.7rem);line-height:1.05;margin-bottom:.8rem;letter-spacing:0}.book-header .section-intro{max-width:620px;margin:0 auto;font-size:1rem;line-height:1.55}.book-header .back-link{margin-bottom:1.25rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--muted);text-decoration:none;font-size:.95rem;transition:color .2s;background:#ffffff1a;padding:.4rem 1rem;border-radius:99px}.back-link:hover{color:#fff;background:#fff3}.book-grid{display:flex;flex-direction:column;gap:2.2rem}.book-card{background:linear-gradient(180deg,var(--card-light),#cbd5e1);border-radius:18px;border:2px solid var(--card-border-light);padding:1.7rem;color:#111827;box-shadow:0 18px 34px #031c3029}.book-content{margin-bottom:1.25rem}.book-content h3{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15;margin-bottom:.55rem;color:#111827}.book-content p{color:#374151;font-size:1.05rem;line-height:1.6}.book-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.book-image-wrapper{border-radius:12px;overflow:hidden;height:280px;cursor:pointer;transition:transform .2s ease-out;border:4px solid rgba(255,255,255,.5);box-shadow:0 4px 6px -1px #0000001a}.book-image-wrapper:hover{transform:scale(1.02);border-color:#fff}.book-image-wrapper img{width:100%;height:100%;object-fit:cover}@media (max-width: 700px){.book-page .section{padding-top:1.6rem}.book-header{margin-bottom:1.6rem}.book-card{padding:1.1rem;border-radius:16px}.book-gallery{grid-template-columns:1fr}.book-image-wrapper{height:220px}}.about-content{background:#ffffff0d;padding:2rem;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.about-content p{margin-bottom:1.2rem;line-height:1.7;color:var(--text)}.about-content h3{margin-top:2.5rem;margin-bottom:1.2rem;font-size:1.4rem;color:#fff}.commitments-list{list-style:none;padding-left:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.commitments-list li{background:#ffffff1a;padding:1rem;border-radius:12px;text-align:center;font-weight:500}.about-slogan{margin-top:2rem;font-style:italic;text-align:center;font-size:1.2rem;color:var(--muted);border-top:1px solid rgba(255,255,255,.1);padding-top:2rem}
