:root{--blue:#073487;--blue-dark:#031d50;--blue-bright:#0e49af;--lime:#a8dd22;--ink:#10213b;--mist:#edf3f8;--white:#fff;--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"DM Sans",sans-serif;background:#fff}img{display:block;width:100%}a{color:inherit;text-decoration:none}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 4.5vw;background:#fff;position:relative;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.brand img{width:48px;height:48px;object-fit:cover;object-position:50% 43%;border-radius:50%}.nav{display:flex;align-items:center;gap:34px;font-size:.95rem;font-weight:600}.nav a:not(.nav-call){position:relative}.nav a:not(.nav-call):after{content:"";position:absolute;left:0;right:100%;bottom:-5px;height:2px;background:var(--lime);transition:.25s}.nav a:hover:after{right:0}.nav-call{padding:12px 20px;color:#fff;background:var(--blue);border-radius:999px}.menu-toggle{display:none;border:0;background:transparent;padding:10px}.hero{min-height:calc(100vh - 84px);position:relative;display:flex;align-items:center;overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;background:url("assets/boutique-2.jpg") center/cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,29,80,.96) 0%,rgba(3,29,80,.73) 46%,rgba(3,29,80,.15) 76%)}.hero-content{position:relative;z-index:2;width:min(760px,84vw);margin-left:8vw;padding:80px 0}.eyebrow{text-transform:uppercase;font-size:.78rem;letter-spacing:.2em;font-weight:800;margin:0 0 22px;color:var(--lime)}.eyebrow.blue{color:var(--blue-bright)}h1,h2,h3{font-family:"Manrope",sans-serif;margin-top:0}h1{font-size:clamp(3.2rem,6.4vw,6.8rem);line-height:.98;letter-spacing:-.055em;margin-bottom:28px}h1 em{font-style:normal;color:var(--lime)}.hero-copy{font-size:clamp(1.05rem,1.5vw,1.3rem);line-height:1.65;max-width:590px;color:rgba(255,255,255,.86)}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px}.button{display:inline-flex;align-items:center;justify-content:center;padding:16px 24px;border-radius:999px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-2px)}.primary{background:var(--lime);color:var(--blue-dark)}.ghost{border:1px solid rgba(255,255,255,.45);color:#fff}.open-card{position:absolute;z-index:3;right:4vw;bottom:34px;background:#fff;color:var(--ink);display:flex;align-items:center;gap:14px;padding:17px 22px;border-radius:16px;box-shadow:0 18px 45px rgba(0,0,0,.16)}.open-dot{width:11px;height:11px;background:var(--lime);border-radius:50%;box-shadow:0 0 0 5px rgba(168,221,34,.2)}.open-card strong,.open-card small{display:block}.open-card small{margin-top:3px;color:#64748b}.intro{display:grid;grid-template-columns:70px 1.2fr 1fr;gap:5vw;padding:120px 8vw;align-items:start}.intro-number{font-weight:800;color:#9aabc1}.intro h2,.section-head h2,.visit h2{font-size:clamp(2.6rem,4.6vw,5rem);line-height:1.05;letter-spacing:-.045em;margin-bottom:0}.intro-copy{padding-top:34px;font-size:1.08rem;line-height:1.75;color:#52627a}.text-link{display:inline-flex;gap:12px;margin-top:22px;color:var(--blue);font-weight:800}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);margin:0 4vw;border-radius:var(--radius);overflow:hidden}.feature{min-height:440px;padding:64px;display:flex;flex-direction:column;justify-content:flex-end}.feature-photo{padding:0}.feature-photo img{height:100%;object-fit:cover}.feature.dark{background:var(--blue-dark);color:#fff}.feature.lime{background:var(--lime);color:var(--blue-dark)}.feature-index{margin-bottom:auto;font-weight:800;opacity:.55}.feature h3{font-size:2.1rem;margin-bottom:12px}.feature p{font-size:1.05rem;line-height:1.6;max-width:430px;margin:0;opacity:.82}.gallery-section{padding:130px 8vw}.section-head{display:grid;grid-template-columns:1.5fr 1fr;gap:7vw;align-items:end;margin-bottom:55px}.section-head>p{line-height:1.75;color:#627087;font-size:1.08rem}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:20px;height:390px;background:var(--mist)}.gallery-wide{grid-column:span 2}.gallery figure img{height:100%;object-fit:cover;transition:.6s}.gallery figure:hover img{transform:scale(1.035)}.gallery figcaption{position:absolute;left:20px;bottom:20px;background:rgba(255,255,255,.92);padding:10px 15px;border-radius:999px;font-size:.86rem;font-weight:700}.visit{background:var(--blue);color:#fff;padding:110px 8vw;display:grid;grid-template-columns:1.15fr .85fr;gap:70px}.visit-title{grid-row:span 2}.lime-button{background:var(--lime);color:var(--blue-dark);margin-top:38px}.visit-info{display:grid;gap:30px}.contact-block{padding-bottom:28px;border-bottom:1px solid rgba(255,255,255,.18)}.contact-block span{display:block;color:var(--lime);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;font-weight:800;margin-bottom:10px}.contact-block strong{font-size:1.12rem;line-height:1.65}.email{font-size:.93rem;overflow-wrap:anywhere}.schedule{grid-column:2}.schedule>div{display:flex;justify-content:space-between;gap:25px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.12)}.schedule span{color:rgba(255,255,255,.64)}.schedule strong{text-align:right}footer{min-height:150px;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:35px 8vw;background:var(--blue-dark);color:#fff}footer p{color:rgba(255,255,255,.55)}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:44px;height:44px;border-radius:50%;object-fit:cover}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(28px);transition:.7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:800px){.site-header{height:72px;padding:0 20px}.brand span{font-size:.9rem}.brand img{width:42px;height:42px}.menu-toggle{display:block}.menu-toggle span{display:block;width:27px;height:2px;background:var(--blue);margin:6px;transition:.25s}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;padding:25px 22px;box-shadow:0 20px 35px rgba(3,29,80,.14);flex-direction:column;align-items:stretch;gap:20px}.nav.open{display:flex}.hero{min-height:760px}.hero-overlay{background:linear-gradient(180deg,rgba(3,29,80,.72),rgba(3,29,80,.94) 68%)}.hero-content{margin:0;padding:120px 24px 160px;width:100%}h1{font-size:clamp(3rem,14vw,4.8rem)}.hero-copy{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.open-card{left:22px;right:22px;bottom:24px}.intro{grid-template-columns:1fr;padding:90px 24px;gap:24px}.intro-number{display:none}.intro-copy{padding:0}.feature-grid{grid-template-columns:1fr;margin:0 16px}.feature{min-height:340px;padding:40px 28px}.feature-photo{padding:0}.feature-grid .feature:nth-child(3){order:4}.gallery-section{padding:95px 24px}.section-head{grid-template-columns:1fr;gap:20px}.gallery{grid-template-columns:1fr}.gallery figure,.gallery-wide{grid-column:span 1;height:290px}.visit{grid-template-columns:1fr;padding:90px 24px;gap:55px}.visit-title{grid-row:auto}.schedule{grid-column:auto}.schedule>div{font-size:.88rem}.visit-info{gap:25px}footer{padding:45px 24px 90px;flex-direction:column;text-align:center}.mobile-call{display:block;position:fixed;z-index:30;left:16px;right:16px;bottom:14px;text-align:center;background:var(--lime);color:var(--blue-dark);padding:15px;border-radius:999px;font-weight:800;box-shadow:0 10px 35px rgba(3,29,80,.35)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
.map-card{display:block;position:relative;height:329px;margin-top:38px;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.22);box-shadow:0 20px 50px rgba(0,0,0,.18)}.map-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.map-card span{position:absolute;left:18px;bottom:18px;padding:11px 16px;border-radius:999px;background:var(--lime);color:var(--blue-dark);font-size:.9rem;font-weight:800;box-shadow:0 8px 24px rgba(3,29,80,.28)}.map-card:hover img{transform:scale(1.025)}
@media(max-width:800px){.map-card{height:280px;margin-top:32px}.map-card span{left:14px;bottom:14px}}
.site-header{height:104px}.brand img{width:64px;height:80px;object-fit:contain;object-position:center;border-radius:0}.hero{min-height:calc(100vh - 104px)}.footer-brand img{width:64px;height:80px;object-fit:contain;object-position:center;border-radius:0}
@media(max-width:800px){.site-header{height:88px}.brand img{width:52px;height:66px;object-fit:contain;border-radius:0}.nav{top:88px}.hero{min-height:744px}.footer-brand img{width:64px;height:80px;object-fit:contain;border-radius:0}}
