@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/montserrat-400.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/montserrat-500.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/montserrat-600.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('assets/fonts/montserrat-700.woff2') format('woff2')}
:root{--paper:#11171c;--ink:#e8ecef;--muted:#a6b0b8;--teal:#05ace8;--line:#2b343c;--lime:#263e50}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px;overflow-x:hidden;overflow-x:clip}body{margin:0;background:var(--paper);color:var(--ink);font-family:'Montserrat',Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--teal);outline-offset:6px}::selection{background:var(--lime)}.wrap{max-width:1240px;margin:auto;padding:0 64px}header{height:122px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.logo{width:215px;height:auto;display:block}.header-right{display:flex;align-items:center;gap:44px;font-size:12px}.languages{display:flex;gap:14px;align-items:center}.languages span{color:#77838d}.languages a{color:var(--muted)}.languages a[aria-current]{color:var(--ink);font-weight:bold;border-bottom:1px solid var(--teal);padding-bottom:5px}.header-contact{display:flex;gap:20px}.arrow{font-size:21px;line-height:12px}.hero{position:relative;padding:89px 0 76px;min-height:620px;display:grid;grid-template-columns:1.25fr 1fr;align-items:center;gap:24px}.eyebrow{font-size:10px;letter-spacing:1.8px;font-weight:bold;color:var(--teal);line-height:1.7;text-transform:uppercase}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--teal);margin-right:12px;vertical-align:2px}h1{font-size:clamp(43px,4.7vw,64px);line-height:1.08;font-weight:400;letter-spacing:-3px;margin:26px 0 28px;max-width:650px}h1 em{font-style:normal;color:var(--teal)}.hero p{max-width:450px;font-size:16px;line-height:1.75;color:var(--muted);margin:0 0 15px}.hero .intro-secondary{font-size:13px;max-width:440px;line-height:1.7}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;background:var(--ink);color:#fff;padding:19px 23px;font-size:12px;border-radius:2px;margin-top:22px;transition:background .2s}.button:hover{background:var(--teal)}.expertise{border-top:1px solid var(--line);padding:32px 0 60px}.section-label{font-size:10px;letter-spacing:1.5px;color:var(--muted);font-weight:400;text-transform:uppercase;margin:0}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:35px}.services h3{font-size:21px;font-weight:400;letter-spacing:-.4px;margin:0 0 14px}.services p{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.approach{background:#192127;padding:63px 0 67px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px}.approach h2{font-size:37px;letter-spacing:-1.3px;line-height:1.18;font-weight:400;margin:24px 0}.approach h2 em{font-style:normal;color:var(--teal)}.signature{font-size:11px;color:var(--muted);margin-top:36px}.approach-copy p{font-size:14px;line-height:1.85;margin:0 0 17px;color:#b7c0c7}.approach-copy p:last-child{margin-bottom:0}.domains{padding:48px 0 51px;display:grid;grid-template-columns:1fr 3fr;gap:40px;border-bottom:1px solid var(--line)}.domain-list{display:flex;flex-wrap:wrap;gap:13px 0;margin:0;padding:0;list-style:none}.domain-list li{font-size:15px;color:#b7c0c7}.domain-list li:not(:last-child):after{content:' / ';margin:0 14px;color:#57646d}.contact{padding:64px 0 60px;display:flex;justify-content:space-between;align-items:center;gap:35px}.contact h2{font-size:35px;letter-spacing:-1px;font-weight:400;margin:14px 0 0}.contact-details{font-size:13px;line-height:1.8;color:var(--muted);text-align:right}.contact-details strong{font-weight:400;color:var(--ink)}.pending{font-size:11px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:24px 0 29px;display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:24px}footer a{border-bottom:1px solid #57646d}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);max-width:580px;padding:40px} .legal-note{font-size:10px} @media(min-width:1450px){.wrap{max-width:1350px}.hero{min-height:680px}h1{font-size:70px}.art{max-width:470px}}@media(max-width:850px){.wrap{padding:0 30px}header{height:96px}.logo{width:180px}.hero{grid-template-columns:1.5fr 1fr;padding:64px 0;min-height:530px}h1{font-size:46px;letter-spacing:-2px}.header-right{gap:24px}.art{width:115%;opacity:.85}.services{gap:28px}.services h3{font-size:18px}.approach-grid{gap:40px}.approach h2{font-size:30px}.domains{grid-template-columns:1fr 2.5fr;gap:25px}.domain-list li{font-size:13px}}@media(max-width:600px){.wrap{padding:0 24px}header{height:87px}.logo{width:160px}.header-contact{display:none}.hero{display:flex;flex-direction:column;align-items:stretch;padding:55px 0 32px;gap:14px}.eyebrow{font-size:8px;letter-spacing:1.1px}h1{font-size:45px;line-height:1.1;letter-spacing:-2px;margin:24px 0}.hero p{font-size:15px}.hero .intro-secondary{font-size:12px}.button{margin-top:15px}.art{width:78%;max-width:320px;align-self:center;margin:5px 0 0;opacity:1}.expertise{padding:26px 0 35px}.services{grid-template-columns:1fr;gap:29px;margin-top:30px}.services article{position:relative;padding-left:0}.services h3{font-size:22px;margin-bottom:9px}.services p{font-size:14px}.approach{padding:38px 0}.approach-grid{grid-template-columns:1fr;gap:24px}.approach h2{font-size:35px;margin:19px 0 0}.signature{margin-top:20px}.domains{padding:34px 0;grid-template-columns:1fr;gap:25px}.domain-list li{font-size:14px}.contact{padding:40px 0;display:block}.contact h2{font-size:31px}.contact-details{text-align:left;margin-top:25px}footer{font-size:9px;align-items:start}.legal-note{text-align:right;max-width:145px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Dark identity, full-viewport hero. Replace hero-image.svg background when artwork is supplied. */
:root{color-scheme:dark}
.hero{min-height:calc(100svh - 122px);display:flex;align-items:center;padding:80px 0 95px;isolation:isolate}
.hero:before{content:'';position:absolute;inset:0 calc((1112px - 100vw)/2);z-index:-1;background:radial-gradient(ellipse at 83% 47%,#0886db15 0,transparent 55%),linear-gradient(120deg,#11171c 45%,#151f27);pointer-events:none}
.hero-copy{max-width:790px}
h1{font-weight:500;max-width:790px;font-size:clamp(46px,5.1vw,72px);line-height:1.12;letter-spacing:-2.5px}
h1 em{font-weight:700;color:#05ace8}
.hero p{max-width:560px;font-weight:400;font-size:16px;line-height:1.85}
.hero .intro-secondary{max-width:530px;font-size:13px}
.eyebrow{font-weight:600;color:#a6b0b8;letter-spacing:1.7px}
.button{background:#0886db;color:#f0f3f5;font-weight:600;border:1px solid #0886db;gap:35px}
.button:hover{background:#057dbd}
.languages a[aria-current]{font-weight:700}
.section-label{font-weight:600;color:#a6b0b8}
.services h3{font-weight:600;font-size:19px}
.services p{font-size:13px}

.approach h2{font-weight:500;letter-spacing:-1.2px;font-size:34px}
.approach h2 em{font-weight:600}
.contact h2{font-weight:500}
.contact-details strong{font-weight:600}
@media(min-width:1450px){.hero:before{left:calc((1222px - 100vw)/2);right:calc((1222px - 100vw)/2)}h1{font-size:76px}}
@media(max-width:1240px){.hero:before{left:-64px;right:-64px}}
@media(max-width:850px){.hero:before{left:-30px;right:-30px}.hero{min-height:calc(100svh - 96px);padding:60px 0}h1{font-size:55px;max-width:670px}.hero-copy{max-width:670px}.approach h2{font-size:29px}}
@media(max-width:600px){.hero:before{left:-24px;right:-24px}.hero{min-height:calc(100svh - 87px);padding:55px 0 65px;justify-content:center}.hero-copy{max-width:100%}h1{font-size:clamp(36px,10vw,48px);line-height:1.16;letter-spacing:-1.5px}.eyebrow{font-size:8px;letter-spacing:1px}.hero p{font-size:14px}.hero .intro-secondary{font-size:12px}.services h3{font-size:21px}.approach h2{font-size:32px}}

/* River artwork fills the entire opening viewport, including navigation. */
header{position:relative;z-index:2;border-bottom-color:#cfd5d91f}
.hero:before{top:-122px;background-image:linear-gradient(90deg,#11171c70 0%,#11171c38 44%,#11171c08 75%),linear-gradient(0deg,#11171c 0%,#11171c00 18%),url('assets/hero-watchmaker.jpg');background-size:cover;background-position:center;background-repeat:no-repeat}
.hero p{color:#c1c9cf}
.hero .intro-secondary{color:#aab5bd}
.hero .eyebrow{color:#b8c4cd}
@media(max-width:850px){.hero:before{top:-96px;background-position:60% center}}
@media(max-width:600px){.hero:before{top:-87px;background-position:64% center;background-image:linear-gradient(90deg,#11171cc4,#11171c76),linear-gradient(0deg,#11171c 0%,#11171c00 20%),url('assets/hero-watchmaker.jpg')}}

/* Small dawn accents; the primary identity remains blue and grey. */
:root{--coral:#e69a83}
.eyebrow:before{background:var(--coral)}
.arrow{color:var(--coral)}
.button:hover{background:#0879c2;border-color:var(--coral)}
.header-contact:hover,.languages a:hover{color:var(--coral)}
a:focus-visible{outline-color:var(--coral)}

/* Living valley: stronger contrast behind copy, open light on the right. */
.hero:before{background-image:linear-gradient(90deg,#11171ca8 0%,#11171c70 35%,#11171c18 65%,#11171c08 100%),linear-gradient(0deg,#11171c 0%,#11171c00 18%),url('assets/hero-watchmaker.jpg')}
.header-right{ text-shadow:0 1px 8px #11171c }
@media(max-width:600px){.hero:before{background-image:linear-gradient(90deg,#11171ccc,#11171c86),linear-gradient(0deg,#11171c 0%,#11171c00 20%),url('assets/hero-watchmaker.jpg')}}

/* Watchmaker: preserve the hands and mechanism; quiet contrast behind copy.
   Responsive, modern-format hero. Plain url() first = fallback for browsers
   without image-set(); image-set() below upgrades to AVIF/WebP where supported. */
.hero:before{background-image:linear-gradient(90deg,#11171c80 0%,#11171c55 35%,#11171c08 65%,#11171c00 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),url('assets/hero-watchmaker.jpg')}
.hero:before{background-image:linear-gradient(90deg,#11171c80 0%,#11171c55 35%,#11171c08 65%,#11171c00 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),image-set(url('assets/hero-watchmaker-1920.avif') type('image/avif'),url('assets/hero-watchmaker-1920.webp') type('image/webp'),url('assets/hero-watchmaker.jpg') type('image/jpeg'))}
/* Large / high-DPI displays: full-resolution tier */
@media(min-width:1600px){.hero:before{background-image:linear-gradient(90deg,#11171c80 0%,#11171c55 35%,#11171c08 65%,#11171c00 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),image-set(url('assets/hero-watchmaker-2560.avif') type('image/avif'),url('assets/hero-watchmaker-2560.webp') type('image/webp'),url('assets/hero-watchmaker.jpg') type('image/jpeg'))}}
/* Tablet: progressively darken the backdrop so copy stays legible over the mechanism. */
@media(max-width:1024px){.hero:before{background-image:linear-gradient(90deg,#11171cb0 0%,#11171c85 42%,#11171c55 72%,#11171c38 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),url('assets/hero-watchmaker.jpg')}
.hero:before{background-image:linear-gradient(90deg,#11171cb0 0%,#11171c85 42%,#11171c55 72%,#11171c38 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),image-set(url('assets/hero-watchmaker-1280.avif') type('image/avif'),url('assets/hero-watchmaker-1280.webp') type('image/webp'),url('assets/hero-watchmaker.jpg') type('image/jpeg'))}}
@media(max-width:850px){.hero:before{background-image:linear-gradient(90deg,#11171cce 0%,#11171ca8 45%,#11171c85 75%,#11171c68 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),url('assets/hero-watchmaker.jpg')}
.hero:before{background-image:linear-gradient(90deg,#11171cce 0%,#11171ca8 45%,#11171c85 75%,#11171c68 100%),linear-gradient(0deg,#11171c 0%,#11171c00 16%),image-set(url('assets/hero-watchmaker-1280.avif') type('image/avif'),url('assets/hero-watchmaker-1280.webp') type('image/webp'),url('assets/hero-watchmaker.jpg') type('image/jpeg'))}}
@media(max-width:600px){.hero:before{background-position:64% center;background-image:linear-gradient(90deg,#11171ccc,#11171c86),linear-gradient(0deg,#11171c 0%,#11171c00 20%),url('assets/hero-watchmaker.jpg')}
.hero:before{background-image:linear-gradient(90deg,#11171ccc,#11171c86),linear-gradient(0deg,#11171c 0%,#11171c00 20%),image-set(url('assets/hero-watchmaker-1280.avif') type('image/avif'),url('assets/hero-watchmaker-1280.webp') type('image/webp'),url('assets/hero-watchmaker.jpg') type('image/jpeg'))}}

/* Compact domain bricks, presented as labels rather than buttons. */
.domains{align-items:start;padding-top:48px;padding-bottom:48px}
.domains .section-label{line-height:1.7;padding-top:16px}
.domain-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.domain-list li{display:flex;align-items:center;min-height:57px;padding:14px 16px;background:#192127;border:1px solid #2b343c;border-left:2px solid #0886db65;border-radius:4px;color:#cfd5d9;font-size:12px;font-weight:500;line-height:1.6}
.domain-list li:not(:last-child):after{content:none}
.email-link{display:inline-flex;align-items:center;gap:12px;margin-top:10px;color:#e8ecef;border-bottom:1px solid #05ace855;padding-bottom:4px}
.email-link:hover{color:var(--coral);border-color:var(--coral)}
@media(max-width:850px){.domains{grid-template-columns:1fr;gap:22px}.domains .section-label{padding-top:0}.domain-list li{font-size:12px}}
@media(max-width:600px){.domains{padding:34px 0}.domain-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.domain-list li{padding:12px;min-height:58px;font-size:11px}.email-link{font-size:13px}}

/* Legal / content pages (mentions légales, legal notice). */
.legal{padding:56px 0 24px;max-width:760px}
.legal h1{font-size:clamp(30px,3.6vw,42px);font-weight:500;letter-spacing:-1.4px;line-height:1.12;margin:14px 0 0}
.legal .lead{font-size:14px;line-height:1.85;color:var(--muted);margin:16px 0 8px}
.legal h2{font-size:16px;font-weight:600;letter-spacing:-.2px;color:var(--ink);margin:38px 0 10px}
.legal p{font-size:14px;line-height:1.85;color:#b7c0c7;margin:0 0 12px}
.legal address{font-style:normal;font-size:14px;line-height:1.95;color:#c1c9cf}
.legal address strong{color:var(--ink);font-weight:600}
.legal a{color:#e8ecef;border-bottom:1px solid #05ace855;padding-bottom:1px}
.legal a:hover{color:var(--coral);border-color:var(--coral)}
.legal .updated{font-size:11px;color:#77838d;margin-top:40px}
@media(max-width:600px){.legal{padding:36px 0 12px}.legal h2{font-size:15px;margin-top:30px}}
