
:root{--paper:#f6f5f1;--ink:#151515;--pink:#c62051}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--ink);font-weight:300;-webkit-font-smoothing:antialiased}
body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--pink);outline-offset:5px}
.site-header{position:absolute;z-index:140;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;min-height:92px;padding:20px clamp(24px,5vw,80px);border:0!important;background:transparent!important}
.site-header .brand{width:clamp(210px,22vw,300px);display:block;position:relative;z-index:2}
.site-header .brand img{width:100%;height:auto;display:block}
.menu-toggle{position:relative;z-index:150;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:50px;height:48px;border:0;background:#17171750;border-radius:50%;color:white}
.menu-toggle .bar{display:block;width:29px;height:1.5px;background:currentColor;transform-origin:center;transition:transform .2s ease}
.menu-toggle[aria-expanded=true]{background:transparent;color:var(--ink)}
.menu-toggle[aria-expanded=true] .bar:first-child{transform:translateY(4.75px) rotate(45deg)}
.menu-toggle[aria-expanded=true] .bar:last-child{transform:translateY(-4.75px) rotate(-45deg)}
.drawer-backdrop{position:fixed;z-index:115;inset:0;background:#0009;visibility:hidden;opacity:0;transition:opacity .26s,visibility .26s}
.drawer{position:fixed;z-index:130;inset:0 0 0 auto;width:min(490px,90vw);background:var(--paper);padding:clamp(110px,15vh,160px) clamp(30px,6vw,76px) 35px;display:flex;flex-direction:column;justify-content:space-between;visibility:hidden;transform:translateX(101%);transition:transform .3s ease,visibility .3s}
.menu-open .drawer-backdrop{visibility:visible;opacity:1}.menu-open .drawer{visibility:visible;transform:translateX(0)}
.drawer small{display:block;color:#7a7674;font-size:11px;letter-spacing:.08em;margin-bottom:29px}
.drawer nav{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.drawer nav a{font-size:clamp(34px,4vw,55px);font-weight:200;letter-spacing:-.065em;line-height:1.17}
.drawer nav a:hover,.drawer nav a[aria-current=page]{color:var(--pink)}
.drawer-bottom{font-size:12px;line-height:1.8;color:#666}
.hero-photo{height:100svh;min-height:550px;background:#1e1e1e;overflow:hidden;position:relative}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 42%;display:block}
.hero-photo::after{content:"";pointer-events:none;position:absolute;inset:0;background:linear-gradient(#0003,transparent 21%,transparent 72%,#0002)}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap}
.about-site .site-header{background:var(--paper)!important}
.about-site .menu-toggle{color:var(--ink);background:transparent}
.about-page{max-width:1540px;margin:auto;padding:clamp(140px,17vh,195px) clamp(24px,5vw,88px) clamp(75px,8vw,125px)}
.about-head{margin:0 0 clamp(33px,5vw,70px)}
.about-head small{font-size:11px;color:#777;letter-spacing:.05em}
.about-head h1{font-size:clamp(59px,9vw,125px);font-weight:200;line-height:.95;letter-spacing:-.075em;margin:20px 0 0}
.about-layout{border-top:1px solid #dad7d2;padding-top:clamp(32px,5vw,65px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(45px,8vw,132px);align-items:start}
.about-photo{margin:0}.about-photo img{display:block;width:100%;height:auto;object-fit:contain}
.about-copy{font-size:clamp(17px,1.5vw,21px);font-weight:300;line-height:1.78}
.about-copy p{margin:0 0 23px}
.site-footer{background:#111;color:#f6f5f1;padding:clamp(65px,7vw,105px) clamp(24px,4.5vw,80px) 26px}
.combined-contact-main{max-width:1460px;margin:0 auto clamp(55px,6vw,90px);display:grid;grid-template-columns:minmax(0,1.12fr) minmax(250px,.88fr);gap:clamp(45px,9vw,150px);align-items:center}
.contact-kicker,.footer-label{font-size:11px;color:#aaa;letter-spacing:.05em}
.combined-contact-invite h2{font-size:clamp(56px,7.5vw,118px);font-weight:200;line-height:.96;letter-spacing:-.075em;margin:22px 0 38px}
.contact-cta{display:flex;align-items:center;justify-content:space-between;gap:34px;width:max-content;max-width:100%;min-width:min(340px,100%);background:var(--paper);padding:17px 22px;color:var(--ink);font-size:14px;font-weight:400}
.contact-cta span:last-child{font-size:24px}
.footer-details{display:grid;gap:25px}.footer-details>div{display:grid;gap:8px}.footer-details a{font-size:clamp(16px,1.4vw,21px);font-weight:300}
.footer-social{display:flex;flex-wrap:wrap;gap:19px}
.footer-bottom{max-width:1460px;margin:auto;padding-top:25px;border-top:1px solid #444;display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:11px;color:#bbb}
.footer-brand{width:170px;max-width:45vw}.footer-brand img{width:100%;display:block;filter:brightness(0) invert(1)}
.digigroupe-credit{display:flex;align-items:center;justify-content:center;gap:9px;min-height:55px;padding:12px 20px;background:#111;border-top:1px solid #343434;color:#c9c9c9;font:300 11px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif}
.digigroupe-credit a{display:inline-flex;align-items:center}.digigroupe-credit img{width:105px;height:auto;max-height:35px;object-fit:contain}
.digigroupe-credit .digigroupe-domain{color:#063bfa;font-weight:400;font-size:12px;margin-left:-9px}
@media(max-width:800px){
 .site-header{min-height:82px;padding:17px 5vw}
 .site-header .brand{width:clamp(180px,44vw,245px)}
 .hero-photo{height:100dvh;min-height:0}.hero-photo img{object-position:50% 45%}
 .combined-contact-main{grid-template-columns:1fr;gap:54px}
 .combined-contact-invite h2{font-size:clamp(59px,11vw,88px)}
 .site-footer{padding:66px 5vw 25px}
 .about-page{padding-top:140px}.about-layout{grid-template-columns:1fr;gap:38px}.about-copy{font-size:17px}
}
@media(max-width:520px){.drawer{padding:115px 29px 35px}.drawer nav a{font-size:44px}.digigroupe-credit{font-size:10px}.digigroupe-credit img{width:93px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
/* Landscape phones: true edge-to-edge image even on short viewports. */
@media (orientation: landscape) and (max-height: 600px){
 .hero-photo{height:100dvh;min-height:0}
 .drawer{padding-top:70px!important;padding-bottom:20px!important}
 .drawer nav{gap:6px}
 .drawer nav a{font-size:clamp(25px,5vh,37px)}
 .drawer small{margin-bottom:13px}
}
